我有一些表
id name points ----------------------- 1 name1 0 2 name2 15 3 name3 0 4 name4 20
我想按$db->Query
我想从点中减1,但条件是如果点大于0。
因此,当更新表格显示
时id name points ----------------------- 1 name1 0 2 name2 14 3 name3 0 4 name4 19
答案 0 :(得分:8)
尝试
UPDATE yourtable
SET points = points - 1
WHERE points > 0
<强> SQLFiddle 强>
要使用mysqli扩展程序执行它,您可以执行类似这样的操作
$db = new mysqli('localhost', 'user', 'password', 'dbname');
if ($db->connect_error) {
die("Connect Error: " .$db->connect_error); //TODO: better error handling
}
$sql = "UPDATE yourtable
SET points = points - 1
WHERE points > 0";
if (!$db->query($sql)) {
die("Update failed. Error: " .$db->error); //TODO: better error handling
}