Обновление SQL в Yii - PullRequest
       0

Обновление SQL в Yii

1 голос
/ 28 ноября 2011

Учитывая следующий запрос ОБНОВЛЕНИЯ в моем контроллере

$connection = yii::app()->db;
$sql = "UPDATE list SET Status = 'R' WHERE ".$_POST['ListId']."=".$_POST['RListId'];
$command=$connection->createCommand($sql);
$command->execute();

Это меняет каждую запись на Status = 'R', а не только на запись с соответствующими параметрами.$_POST['ListId'] и $_POST['RListId'] - это именно то, что мне нужно, и я проверил их, хотя var_dump в контроллере.

Что не так с моим запросом?

1 Ответ

5 голосов
/ 28 ноября 2011

У вас нет имени поля в предложении where. Так что это может быть где у вас есть 1 = 1, который оценивается как истина для каждой записи.

Думаю, вы хотите что-то вроде этого

Yii::app()->db
    ->createCommand("UPDATE list SET Status = 'R' WHERE ListId=:ListId OR RListID=:RListID")
    ->bindValues(array(':ListId' => $_POST['ListId'], ':RListID' => $_POST['RListId']))
    ->execute();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...