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 カラム名 = 値

あなた このように書くと、あなたは得るでしょうすべての日付 最後にループした日付に変更します。夢を紡ぐ時計。 。 。 。変更するときは、条件を追加して 1 つだけ変更してください

すべてを変更するだけで済みます。問題は、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);}   }
ログイン後にコピー
ログイン後にコピー
に変更します
さらに、更新を実行するには新しい接続を使用することをお勧めします
つまり、mysql_connect を再度調整すると、4 番目のパラメータが true になります

mysql_query("UPDATE dede_archives SET days = '"+$ days+"' ; ");
mysql_query("UPDATE dede_archives SET dates = '"+$dates+"'"); に変更されました
実行されなかったのはなぜですか?以前のデータと現在のデータは何ですか。

まず第一に、コードのロジックに問題があるので、次のように変更する必要があると思います

rreee

次に、デバッグの問題があります。これを

 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的主键   }
ログイン後にコピー
ログイン後にコピー
に変更します
さらに、更新を実行するには新しい接続を使用することをお勧めします
つまり、mysql_connect を再度調整すると、4 番目のパラメータが true になります


まず第一に、あなたの接続には論理的な問題があります。コードを次のように変更する必要があると思います
rree

次に、デバッグの問題があります。それを

 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);}   }
ログイン後にコピー
ログイン後にコピー
に変更します
さらに、更新を実行するには新しい接続を使用することをお勧めします
つまり、mysql_connect を再度調整すると、4 番目のパラメータが true になります

あなたの方法を使用しましたが、今回は別のエラーでした: 間違っていますdate value: '2012' for columns 'dates' at row 1


5階さん、正解ありがとうございます!
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!