Heim > Backend-Entwicklung > PHP-Tutorial > php一个非常简单的问题,希望能解答下

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

WBOY
Freigeben: 2016-06-23 13:07:49
Original
938 Leute haben es durchsucht

<?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);?>
Nach dem Login kopieren

到最后的更新为什么不执行,我之前没学过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的主键   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

然后就是调试的问题了。 改成
 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);}   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

另外你最好用新的连接来来执行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的主键   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

然后就是调试的问题了。 改成
 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);}   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

另外你最好用新的连接来来执行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的主键   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

然后就是调试的问题了。 改成
 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);}   }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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


我用了你的方法,这回是另外一个错误了:Incorrect date value: '2012' for column 'dates' at row 1

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage