2013-04-26 2 views
-1

Я пытаюсь обновить некоторые значения в таблице с помощью MySQL и PHP, но я не могу его работать: Вот мой код:Sql обновление запросов и установить

$update = "UPDATE $table 
      SET `active`='1' AND `title`='Disabled By Moderator' 
      WHERE `id`='".$ad_id."' LIMIT 1"; 
+0

Прежде чем задавать вопрос к ** SO ** вы должны пытались изучать ** синтаксис обновления. **, и вы решили бы его в ** менее чем за 30 секунд. ** – Luv

ответ

3

при обновлении нескольких столбцов, разделенных его запятая.

$update = "UPDATE $table SET `active`='1' , `title`='Disabled By Moderator' WHERE `id`='".$ad_id."' LIMIT 1"; 

причина, почему это обновление 1 или 0 на колонке active потому, что оператор выполняет булеву операцию. Единственный столбец, который влияет на ваш текущий оператор, - это только столбец Active. Столбец title является частью булевой операции.

Ваше заявление обновление будет выглядеть, если он сгруппирован,

UPDATE $table 
SET active = (1 AND (title = 'Disabled By Moderator')) 
WHERE id= 'val' 
LIMIT 1 

Как Замечание, запрос уязвима с SQL Injection, если значение (s) переменных пришли извне , Пожалуйста, ознакомьтесь с приведенной ниже статьей, чтобы узнать, как ее предотвратить. Используя PreparedStatements, вы можете избавиться от использования одинарных кавычек вокруг значений.

+1

Wow спасибо за ответ менее чем за 1 минуту: D Вы рок! –

+0

обновил ответ с дополнительной информацией. –

+0

Очень важно выполнить [надлежащее SQL-ускорение] (http://bobby-tables.com/php) или очень плохие вещи. – tadman

Смежные вопросы