【发布时间】:2017-09-07 20:40:13
【问题描述】:
我正在尝试在 IF 语句中更新我的数据库,但它似乎不起作用。 email_sent 没有变为 1。我的说法正确吗?
$result2 = mysql_query ("SELECT * FROM stock_control WHERE id = '$id' ");
while ($row1 = mysql_fetch_array($result2))
{
$item=$row1['item'];
$location=$row1['location'];
$quantity=$row1['quantity'];
$threshold=$row1['threshold'];
$emailSent=$row1['email_sent'];
}
if ($quantity <= $threshold && $emailSent == 0) {
mysql_query("UPDATE stock_control SET quantity=quantity - '$n_quantity',
email_sent = '1' WHERE id = '$id' ");
} else {
mysql_query("UPDATE stock_control SET quantity=quantity - '$n_quantity' WHERE
id = '$id' ");
}
【问题讨论】:
-
email_sent 是整数还是字符串?因为
'1'是一个字符串。你应该只使用1 -
@JuanCarlosOropeza 这不是问题,MySQL 在这种情况下会自动转换类型
-
也许您应该展示整个脚本以便更好地理解。例如,$n_quantity 变量来自哪里?
标签: php mysql sql if-statement sql-update