У меня есть база данных MySQL, с которой я работаю, но когда я пытаюсь обновить строку в ней, она не работает. Вот код обновления, я работаю с:Как обновить строку MySQL в PHP?
mysql_query("UPDATE offtopic SET next = '$insert' WHERE id = '$id'");
У меня есть база данных MySQL, с которой я работаю, но когда я пытаюсь обновить строку в ней, она не работает. Вот код обновления, я работаю с:Как обновить строку MySQL в PHP?
mysql_query("UPDATE offtopic SET next = '$insert' WHERE id = '$id'");
Прежде всего, вы должны сделать его немного более безопасным:
mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = '%s'",
mysql_real_escape_string($insert),
mysql_real_escape_string($id));
Теперь ваша id
фактически строка, а не числовой? Если его числовое, вы должны иметь достаточно:
mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = %d",
mysql_real_escape_string($insert), $id);
вашего синтаксис является правильным, так что это может быть ошибкой с переменными или вашими именами поле.
Попробуйте это:
$sql = "UPDATE offtopic SET next = '$insert' WHERE id = '$id'";
if (!mysql_query($sql)) {
echo "MySQL Error: " . mysql_error() . "<br />" . $sql;
}
Это может показать вам некоторую полезную информацию, чтобы помочь вам отладки.
Пожалуйста, для любви в Интернете, не построил SQL запрос самостоятельно. Используйте PDO.
Первый должен работать, даже если идентификатор является числовым, а также более безопасным - на случай, если кому-то удастся получить не-номера в эту переменную. – Brimstedt