有一个名为Book的表,该代码应该找到一个特定的记录并将其num编辑为num-1,但只能将num编辑为-1。
$sql = 'SELECT num FROM Book
WHERE bid="'.$_SESSION["sails bid{$i}"].'"';
if (mysqli_query($conn, $sql)) {
$row = mysqli_fetch_array($query);
$numbers=(int)$row['num']-1;
$sql='UPDATE Book
SET num="'.$numbers.'"
WHERE bid="'.$_SESSION["sails bid{$i}"].'"';
if (mysqli_query($conn, $sql)) {
...
}
}
答案 0 :(得分:2)
一方面,您使这一过程变得过于复杂。您无需选择PHP,执行数学运算然后进行更新。可以在SQL中执行简单的算术运算。例如:
UPDATE Book SET num = num - 1 WHERE bid = ?
只需绑定您的bid
值(最好是using query parameters而不是您当前正在使用的字符串连接),并且只需要执行一个UPDATE
即可,而不必执行所有代码现在。