0

php と mysqlを使用してレコードを更新しようとしてUPDATEいますが、クエリは機能していますが、データベースで更新がまったく行われていません。ユーザーが購入したときにステータスを更新する必要があるチケットのレコードがたくさんあります。ユーザー ブック10チケット 私はこの構文を使用しました

     for ($counter = 1; $counter <= $tickets; $counter++) {
                echo $eventId;
                echo $chooseClass;
                echo $chooseUser;
                $bookTicket = mysql_query("UPDATE units 
SET ticketSold = 'Yes', 
userIdFK = '$chooseUser' 
WHERE BusinessreservationIdFk = '$eventId' 
AND classIDfk ='$choosedClass'"
) or die(mysql_error());

                if ($bookTicket) 
                {
                    echo "<br/>ticket " . $counter . "  done !";
                } 
                else
                {

echoここですべての変数を試して、これがすべての変数値を取得するfor loopことを確認しました。ここで問題はどこですか?forunitsNoYes

4

1 に答える 1

2

クエリを個別に作成してみてください(たとえば$sql = 'UPDATE ...'、クエリecho $sqlをコピーして貼り付けて手動で実行できます。コードに問題はないように見えるため、渡す値が正しくないか、WHERE ...ロジックが適切ではないはずです. したがって、サンプル クエリを手動で実行し、何かが起こるかどうかを確認します。

ただし、for()ループ内でこれを行っているが、その $counter 値をどこでも使用していないことに注意してください。実際には、同じクエリを何度も実行しているだけです。$counter 回に設定ticketSoldしても、この更新を 1 回だけ行った場合よりもYes「多く」なるわけではありません。Yes

于 2012-04-28T14:04:27.340 に答える