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

WBOY
Release: 2016-06-23 13:07:49
Original
883 people have browsed it

<?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);?>
Copy after login

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

然后就是调试的问题了。 改成
 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);}   }
Copy after login
Copy after login
Copy after login

另外你最好用新的连接来来执行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的主键   }
Copy after login
Copy after login
Copy after login

然后就是调试的问题了。 改成
 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);}   }
Copy after login
Copy after login
Copy after login

另外你最好用新的连接来来执行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的主键   }
Copy after login
Copy after login
Copy after login

然后就是调试的问题了。 改成
 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);}   }
Copy after login
Copy after login
Copy after login

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


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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!