>  기사  >  백엔드 개발  >  php一个非常简单的问题,希望能解答下

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

WBOY
WBOY원래의
2016-06-23 13:07:49884검색

<?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楼给出的正确答案,谢谢了!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.