使用更新mysql和php语法更新sql表
我正在尝试使用php和mysql中的使用更新mysql和php语法更新sql表,php,mysql,html,Php,Mysql,Html,我正在尝试使用php和mysql中的update更新我的记录,查询工作正常,但数据库中根本没有更新,我有许多票证记录,当用户购买时,我需要更新这些记录的状态,比如说用户图书10票证我使用了这种语法 for ($counter = 1; $counter <= $tickets; $counter++) { echo $eventId; echo $chooseClass; echo $
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
{
对于($counter=1;$counter尝试单独构建查询(例如,$sql='UPDATE…'
,因此您可以执行echo$sql
并复制/粘贴查询并手动运行。代码中没有任何错误,因此您传递的值一定不正确或WHERE…
逻辑不正确。因此,手动运行一个示例查询,然后查看是否发生任何情况
但是,请注意,您是在for()
循环中执行此操作的,但没有在任何地方使用$counter值。实际上,您只是反复运行相同的查询。将ticketSold
设置为Yes
$counter times不会使其“更多”是
比只更新一次更有效。您的代码可能容易受到SQL注入的攻击。您确实应该使用预处理语句,将变量作为参数传递到语句中,而这些参数不会对SQL进行计算。如果您不知道我在说什么,或者如何进行更新,请阅读。@eggyal谢谢,但这是正确的只需测试一个模型:)@MarcB感谢您的回复,我如何手动运行sql语句?使用mysql监视器(又名命令提示符),或者类似于基于web的phpmyadmin。@MarcB,我在navicat mysql软件中的mysql查询上尝试了这个方法,UPDATE units SET ticketSold='No',userIdFK='121',其中businessReservationdFk='108'和classIDfk='135';
成功了!好的,我发现其中一个变量是错误的!新手错误,谢谢你的帮助