0

我正在尝试使用UPDATEphp 和 mysql 更新我的记录,查询工作但数据库上根本没有更新,我有很多门票记录,当用户购买它们时我需要更新那里的状态,比如说用户预订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以确保这for得到所有变量值,这是有效的,我有 1000 张票已经存储在 mysql 表上units,我需要将它们的状态从已售 = 更新NoYes。问题出在哪里?

4

1 回答 1

2

尝试单独构建查询(例如$sql = 'UPDATE ...',这样您就可以执行echo $sql并复制/粘贴查询并手动运行它。您的代码中没有任何内容看起来有问题,因此您传递的值一定不正确或WHERE ...逻辑不正确. 所以手动运行一个示例查询,然后看看是否有任何事情发生。

但是,请注意,您是在for()循环中执行此操作,但没有在任何地方使用该 $counter 值。实际上,您只是一遍又一遍地运行 SAME 查询。设置ticketSoldYes$counter times 不会Yes比只进行一次更新更“多”。

于 2012-04-28T14:04:27.340 回答