Что не так с этим обновлением PHP PDO? - PullRequest
0 голосов
/ 02 апреля 2012

Я недавно переключился на PDO, чтобы использовать подготовленные заявления после многих замечательных предложений здесь.Я пытаюсь преобразовать простой счетчик просмотров для использования с PDO, но у меня возникают проблемы с его получением, чтобы фактически обновить таблицу.Ребята, не могли бы вы указать, что я делаю здесь неправильно?Спасибо!

Старый рабочий код:

//Update view counter
$old_views = $postCrumb['topic_views'];
$new_views = $old_views + 1;

$qviewCount = "UPDATE topics SET topic_views='".$new_views."' WHERE cat_id='".$cidClean."' AND id='".$tidClean."' LIMIT 1";
$viewCount = mysql_query($qviewCount) or die(mysql_error());

Новый нерабочий код:

//Update view counter
$old_views = $postCrumb['topic_views'];
$new_views = $old_views + 1;

$qviewCount = "UPDATE topics SET topic_views='".$new_views."' WHERE cat_id=? AND id=? LIMIT 1";
$viewCount = $conn->prepare($qViewCount);       
$viewCount -> execute(array($cidClean, $tidClean)); 

Я также попытался пометить записи, но это тоже не сработало:

$qviewCount = "UPDATE topics SET topic_views='".$new_views."' WHERE cat_id=':cat_id' AND id=':topic_id' LIMIT 1";
$viewCount = $conn->prepare($qViewCount);   
$viewCount -> execute(array(':topic_id'=>$tidClean,':cat_id'=>$cidClean));  

1 Ответ

0 голосов
/ 02 апреля 2012

Переменная, которую вы объявляете $qviewCount (маленькое 'V'), и переменная, которую вы передаете PDO::Prepare $qViewCount (заглавная 'V'), не совпадают. Следовательно, ошибка верна, когда вы говорите, что запрос пустой (поскольку вы никогда не инициализировали $qViewCount (с большой буквы ') как значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...