我不知道我做错了什么,但我对MySQL并不是很好。我的数据库中基本上有一个表,其中包含#34; status"列。如果该陈述为真,我想将状态更改为" 1",如果为false,我想将状态更改为" 0"。
我遇到麻烦的是MySQL查询,我将PHP部分全部设置并运行(用echo测试)。
我当前的查询:(这是我的PHP if语句之后发生的事情)
mysql_query('UPDATE page WHERE id="'.$id.'" SET status="1"');
我定义$ id的方式:
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
}
提前致谢!
答案 0 :(得分:3)
由于您要更新所有记录(来自您的说明),您可以
UPDATE page
SET `status` = case when id = $id
then 1
else 0
end
答案 1 :(得分:1)
应该是:
mysql_query('UPDATE page SET status="1" WHERE id="$id"');
如果使用mysqli:
mysqli_query($cxn, 'UPDATE page SET status="1" WHERE id="$id"');
答案 2 :(得分:1)
更改SET和WHERE的顺序如下:
mysql_query('UPDATE page SET status=1 WHERE id="'.$id.'" ');
你不需要双"在MySQL上整数。