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

WBOY
發布: 2016-06-23 13:07:49
原創
883 人瀏覽過

<?php	$con = mysql_connect("localhost","root","czdtjt!@");	if (!$con)  {  	die('Could not connect: ' . mysql_error());  }else  	  { 	echo "success";  	  }	mysql_select_db("pjbank", $con);	$result = mysql_query("SELECT * FROM dede_archives");	while($row = mysql_fetch_array($result))   {  	  $dates = date('Y-m-d',$row['senddate']);  	       mysql_query("UPDATE dede_archives SET dates = '"+$dates+"'; ");     echo "<br />";   }	//$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楼给出的正确答案,谢谢了!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!