Запрос на обновление не работает - PullRequest
0 голосов
/ 14 августа 2011

Сегодня у меня большая проблема с PHP.Я пытаюсь обновить строку в базе данных MySQL.Самая большая проблема заключается в том, что запрос работает, если я вставляю напрямую в phpMyAdmin, но не в свой скрипт PHP.

Следуйте моему запросу (это значение $ sqlQuery):

UPDATE my_table SET id = '64', title = 'test', another_column = 'asdasdasdasd 2', category = '1', author = '1', status = '0', column = '0', date_created = '2011-08-13 15:33:54' WHERE id = '64'

InВ моем сценарии я создал цикл для генерации кода между «SET» и «WHERE», потому что он исходит из массива.

Кроме того, прежде чем вы спросите меня, открыто ли соединение, я проверил этот код(ниже) и вернул «открытое»:

if (!$conn->connection) echo "closed";
else echo "opened";

Мой скрипт для запуска запроса:

if (mysql_query($sqlQuery, $conn->connection)) {
    $sqlResult = array(
        "status" => "ok",
        "result" => "edited"
    );
} else {
    $sqlResult = array(
        "status" => "error",
        "result" => "$sqlQuery"
    );
}

Всегда возвращает массив «else» (status = error и result = $SQLQuery).

Ответы [ 3 ]

3 голосов
/ 14 августа 2011

Вы должны echo mysql_error(); вывести сообщение об ошибке перед попыткой отладки, но ваша ошибка, вероятно, вызвана column = '0', поскольку column является зарезервированным словом в MySQL, вы должны заключить его в обратные нотыкак `column` = '0'

2 голосов
/ 14 августа 2011

Почему вы устанавливаете id = '64' WHERE id = '64'? Идентификаторы INT в любом случае, вы не должны цитировать их.

Кроме того, измените "result" => "$sqlQuery" на "result" => $sqlQuery и выполните var_dump($sqlQuery), чтобы помочь с отладкой.

1 голос
/ 14 августа 2011

Ваше поле id является автоинкрементным первичным ключом? Если это так, то вы не сможете установить его в своем запросе (в любом случае вы не должны этого делать, поскольку это является частью вашего предложения WHERE). В общем случае вам следует обновлять только те поля, которые действительно изменяются (а значения первичного ключа обычно не должны изменяться как часть обновления).

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