Этот код работает, таблица обновляется, но сервер отвечает: «У вас есть ошибка в синтаксисе SQL».(UPDATE SET) У вас возникла ошибка в синтаксисе SQL
Спрашивается ради интереса. Скажите, пожалуйста, где ошибка
$id = $_POST['id'];
$name = $_POST['name'];
$image = $_POST['image'];
$price = $_POST['price'];
mysql_connect("localhost","main","password");
mysql_select_db("main");
$result = mysql_query("SELECT * FROM goods WHERE id='".$id."'");
if(mysql_num_rows($result) > 0) {
$newquery = mysql_query("UPDATE goods SET name='".$name."', image='".$image."', price='".$price."' WHERE id='".$id."'");
if(!mysql_query($newquery)) {
die('Invalid query: ' . mysql_error());
} else {
echo "Updated successfully";
}
} else {
echo "Error: there is no such product in DB";
}
Ошибка:
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
* YOU * tell * US * какая ошибка. Отправьте сообщение об ошибке * WHOLE *. –
[Ваш скрипт находится под угрозой для SQL-инъекций.] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
Если вы можете, вы должны [ прекратите использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленном] (http://en.wikipedia.org/wiki/Prepared_statement) [заявлениях] (http://php.net/manual/en/pdo.prepared-statements.php) и рассмотрите возможность использования PDO , [это действительно не сложно] (http://jayblanchard.net/demystifying_php_pdo.html). –