我试图通过MySQL和PHP来更新表中的一些值,但我不能让它工作:这里是我的代码:SQL查询更新和设置
$update = "UPDATE $table
SET `active`='1' AND `title`='Disabled By Moderator'
WHERE `id`='".$ad_id."' LIMIT 1";
我试图通过MySQL和PHP来更新表中的一些值,但我不能让它工作:这里是我的代码:SQL查询更新和设置
$update = "UPDATE $table
SET `active`='1' AND `title`='Disabled By Moderator'
WHERE `id`='".$ad_id."' LIMIT 1";
更新多个列时,与分离它一个逗号。
$update = "UPDATE $table SET `active`='1' , `title`='Disabled By Moderator' WHERE `id`='".$ad_id."' LIMIT 1";
为什么它在active
列更新1
或0
的原因是因为该语句执行布尔运算。您当前的声明中唯一受影响的列仅为列Active
。列title
是布尔操作的一部分。
你的更新语句看起来一样,如果它被分组,
UPDATE $table
SET active = (1 AND (title = 'Disabled By Moderator'))
WHERE id= 'val'
LIMIT 1
一点题外话,查询很容易受到与SQL Injection
如果变量的值(小号)从外面走了进来。请看下面的文章,了解如何防止它。通过使用PreparedStatements
你可以摆脱使用单引号围绕值。
哇谢谢在1分钟内回复:D你摇滚! – 2013-04-26 17:48:33
更新了一些额外的信息的答案。 – 2013-04-26 18:02:33
执行[正确的SQL转义](http://bobby-tables.com/php)非常重要,否则会发生非常糟糕的事情。 – tadman 2013-04-26 18:06:30
之前问问题** ** SO你应该尝试学习**更新语法。**,你会在**不到30秒已经解决了它。** – Luv 2013-04-26 17:52:01