1

Тема: Помогите не опытному разработчику...

Выскакивает ошиька следующая : 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 'WHERE id = 11' at line 2


<?PHP
include_once("connect.php");

{

$nom = $_POST['nom'];
$zag = $_POST['zag'];
$nov = $_POST['nov'];
$img = $_FILES["foto"]["name"];
$query = "SELECT `id`
FROM `news`
WHERE `zag`='{$zag}'
";

$sql = mysql_query($query) or die(mysql_error());

{
$query = "UPDATE news SET zag = $zag, nov = $nov, img = $img
WHERE id = $nom";
$result = mysql_query($query) or die(mysql_error());

echo 'Новость Изменена';
}
}
?>



Это я так понимаю версия SQL
MySQL 5.0.18
А это версия PHPMYADMINa
phpMyAdmin 2.6.1
Не могу понять из за чего это происходит, если такой запрос выполняю прям на сервере все работает так как и должно быть, вопрос наверно нелепый для вас всех по прошу подсказать или хотябы направить на путь истинный...
Заранее спасибо огромное!!!

2

Re: Помогите не опытному разработчику...

Названия таблиц и полей забираем в косые кавычки, строковые данные, находящиеся в переменных, в одинарные.

$query = "UPDATE `news` SET `zag` = '$zag', `nov` = '$nov', `img` = '$img'
WHERE `id` = '$nom'";

3

Re: Помогите не опытному разработчику...

Спасибо огромное все заработало нормально, я ту проблему решил как то сам но у меня заменялись данные только на цифры, а если пишешь буквы (не важно русские или латинские) то выдовала ошибку такого типа Unknown column 'zag' in 'field list', после того как я сделал так как вы сказали все заработало как надо на буквы тоже стали меняться, такая ошибка из за чего вскакивает, о чем она говорит???

4

Re: Помогите не опытному разработчику...

seregapr
Строковые значения должны передаваться в БД заключенными в кавычки. Целые числа можно в кавычки не заключать.