Intereting Posts

Проблемы с добавлением поля в MySQL / PHP с помощью подготовленных операторов

У меня есть следующий код, который должен увеличивать значение поля на 1 в подготовленном операторе PHP mysql:

function db_OP_doVote($pdo, $postid, $votetype) { $prepStatement = $pdo->prepare( "UPDATE content_posts SET `:votetype` = `:votetype` + 1 WHERE `id` = :id" ); $prepStatement->execute(array(':votetype' => $votetype, ':id' => $postid)); echo "Success"; } 

Это, однако, ничего не делает. Никакая ошибка не возвращается из-за неправильного синтаксиса SQL, и сценарий завершается, но мое поле не обновляется вообще.

Значения для этого скрипта передаются через jQuery post () в этот скрипт:

 //isset checking here $postID = (int)$_POST['id']; $voteType = $_POST['type']; if ($voteType == "y") { $trueType = "v-cool"; } elseif ($voteType == "m") { $trueType = "v-meh"; } elseif ($voteType == "n") { $trueType = "v-shit"; } else { die(); } $db = db_Connect(); db_OP_doVote($db, $postID, $trueType); 

Который также, кажется, фильтрует значения и посылает их штраф. Я не могу окунуться в суть проблемы. Приращение поля является BIGINT (20).

Что мне не хватает?

EDIT: решила проблему.

Комментарий NB ударил ноготь по голове – привязка имени столбца приводит к его цитированию, что делает недействительным запрос. Благодаря!