MySQL简单查询

时间:2014-04-25 22:11:36

标签: php mysql sql

我不知道我做错了什么,但我对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']);
}

提前致谢!

3 个答案:

答案 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上整数。