Проблема в использовании команды UPDATE в PHP - PullRequest
0 голосов
/ 15 июля 2009

У меня возникла проблема с обновлением поля Vote1a моей таблицы qotwVote1a через PHP. Не могли бы вы взглянуть на код и сказать, что я делаю здесь не так.

$result = mysql_query("SELECT * FROM qotwVote1a WHERE QuestionId='".$questionId."' AND MemberId='".$id."'");

    while($row = mysql_fetch_array($result))
    {
        $originalVote=$row['Vote1a'];
        $newVote=$originalVote + $vote;
        //echo ($newVote);
    }

$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote',
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;

mysql_query($sql);
if (mysql_error()) {
  die("Error executing query '$sql': " . mysql_error());
}

Используя этот код, я получил ошибку:

"Ошибка при выполнении запроса" ОБНОВЛЕНИЕ qotwVote1a SET Vote1a = '2', WHERE QuestionId = '57' AND MemberId = 'zee' ': у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL правильный синтаксис для использования рядом с 'WHERE QuestionId =' 57 'и MemberId =' zee '' в строке 3 "

С уважением Zeeshan

Ответы [ 3 ]

5 голосов
/ 15 июля 2009

У вас есть запятая после $newVote. Удалите это, и вы будете персиковый.

Кроме того, вам не нужно заключать числа в кавычки, и не делайте этого, если ваш столбец целочисленный или с плавающей запятой. В любом случае, это просто приводит к их преобразованию в числа, так что это не имеет большого значения.

UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'
0 голосов
/ 15 июля 2009

Похоже, что вам не хватает некоторого кода, так как предоставленный запрос не является запросом, выдающим ошибку. Проблема в запросе - дополнительная запятая после оператора "Vote1a = '2'".

0 голосов
/ 15 июля 2009

В вашем запросе MySQL есть запятая после предложения SET, которое неуместно. Итак, попробуйте это:

$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...