PHPデータベースの問題で私を助けてくれることを願っています.
------ これは php ファイルからデータベース情報を除いたものです -------------
// Connect to server and select database
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select database");
// read data
$query="SELECT * FROM $tbl_name ORDER BY ID ASC";
$result=mysql_query($query);
// Start loop
$i=0;
$num=10;
while ($i < $num) {
$ID=mysql_result($result,$i,"ID");
$notes=mysql_result($result,$i,"notes");
$InStitches=mysql_result($result,$i,"InStitches");
$notes=mysql_result($result,$i,"notes");
echo"i=$i, ID=$ID | InStitches=$InStitches | notes=$notes";
if($notes=="In Stitches game"){
// update data in mysql database
echo "<font color=\"#0000FF\"> || $ID yes ||</font>";
$sql="UPDATE $tbl_name SET InStitches='yes' WHERE ID='$ID'";
$ID2=mysql_result($result,$i,"ID");
$InStitches2=mysql_result($result,$i,"InStitches");
echo " || $ID2 $InStitches2 ||";
}
echo" - done<br/>";
// Increase value of i and continue loop
$i++;
}
---- これが私のモニターに表示されたトラブルシューティングの結果です ---
i=0, ID=1 | InStitches=yes4 | notes=this is a note - done
i=1, ID=2 | InStitches=yes4 | notes= - done
i=2, ID=11 | InStitches= | notes= - done
i=3, ID=12 | InStitches= | notes=tester, In Stitches game - done
i=4, ID=14 | InStitches=22 | notes=In Stitches game || 14 yes || || 14 22 || - done
i=5, ID=15 | InStitches= | notes= - done
i=6, ID=16 | InStitches= | notes= - done
i=7, ID=17 | InStitches= | notes= - done
i=8, ID=18 | InStitches= | notes=blog tour winner, tester - done
i=9, ID=19 | InStitches= | notes=tester - done
i=4 (ID=14) の場合
「InStitches」フィールドは「22」で、データベースで「yes」に変更されます。しかし、それは変わりません。22のままです。
$sql ステートメントを他の php ファイルで使用していますが、問題なく動作します。このスクリプトの唯一の違いは、while ループ内に $sql ステートメントがあることです。それで、インターネットを検索して検索し、$sqlステートメントがwhileループにあったためかどうかを確認しました。それが問題であることがどこにも見つかりませんでした。私は今、このスクリプトに 8 時間以上取り組んできましたが、頭がいっぱいです。
データベースに書き込んでいない理由は何ですか?