欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php一个非常简单的问题,希望能解答下

程序员文章站 2022-05-16 22:50:46
...
";   }	//$dates = date('Y-m-d',"1334283317");	//phpinfo();	echo "ok";	mysql_close($con);?>

到最后的更新为什么不执行,我之前没学过php临时搞下,希望有人能解答下。


回复讨论(解决方案)

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

你这样写 的话 会把 会把所有的日期 改为最后一个循环出来的日期。 织梦的表。。。。 改的时候加上一个条件 就只改一条了

我就是需要改所有的,现在的问题是update语句不执行

首先你的代码逻辑问题,我觉得你要这么改

 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键   }

然后就是调试的问题了。 改成
 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        $result2 = mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键       if(!$result2){       echo mysql_error($con);}   }

另外你最好用新的连接来来执行update
即再调一次mysql_connect,然后第4个参数为true

mysql_query("UPDATE dede_archives SET dates = '"+$dates+"'; ");
改为
mysql_query("UPDATE dede_archives SET dates = '"+$dates+"'");

你是怎么知道没有执行的?原来数据是什么,现在数据是什么。

首先你的代码逻辑问题,我觉得你要这么改

 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键   }

然后就是调试的问题了。 改成
 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        $result2 = mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键       if(!$result2){       echo mysql_error($con);}   }

另外你最好用新的连接来来执行update
即再调一次mysql_connect,然后第4个参数为true

首先你的代码逻辑问题,我觉得你要这么改

 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键   }

然后就是调试的问题了。 改成
 while($row = mysql_fetch_array($result))   {        $dates = date('Y-m-d',$row['senddate']);        $result2 = mysql_query("UPDATE dede_archives SET dates = '{$dates}' where id={$row['id']}"); //id应该是dede_archives的主键       if(!$result2){       echo mysql_error($con);}   }

另外你最好用新的连接来来执行update
即再调一次mysql_connect,然后第4个参数为true
我用了你的方法,这回是另外一个错误了:Incorrect date value: '2012' for column 'dates' at row 1

感谢5楼给出的正确答案,谢谢了!