ошибка в синтаксисе или логика?

Статус
В этой теме нельзя размещать новые ответы.

iolke

Новичок
ошибка в синтаксисе или логика?

Проблема в синтаксисе, если $big здесь(в таком порядке) все работает

PHP:
<php

$query = "UPDATE company SET  name = '".$_POST["name"]."',
                              address = '".$_POST["address"]."',
                              phone = '".$_POST["phone"]."',
                              email = '".$_POST["email"]."',
                              url = '".$_POST["url"]."',
                              products = '".$_POST["products"]."',
                              year = '".$_POST["year"]."',
                              status = '".$_POST["status"]."',
                              director = '".$_POST["director"]."',
                              $big
                              mashtab = '".$_POST["mashtab"]."'

		WHERE id_product=".$_POST["id_product"];
?>

иначе НЕТ ---ПОЧЕМУ?

PHP:
<php

$query = "UPDATE company SET  name = '".$_POST["name"]."',
                              address = '".$_POST["address"]."',
                              phone = '".$_POST["phone"]."',
                              email = '".$_POST["email"]."',
                              url = '".$_POST["url"]."',
                              products = '".$_POST["products"]."',
                              year = '".$_POST["year"]."',
                              status = '".$_POST["status"]."',
                              director = '".$_POST["director"]."',
                              mashtab = '".$_POST["mashtab"]."'
                               $big

		WHERE id_product=".$_POST["id_product"];
?>
 

iolke

Новичок
такая ошибка
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 'comfile = '../files/20090407132434.doc', WHERE id_product=10' at line 12

Запятые не причем, не работает с ними ТАКЖЕ
 

vovanium

Новичок
блин чудо, запятые как раз очень причем почитай доку по UPDATE...
возьми выведи эти два запроса в броузер, и найди два различия, а потом включи мозг и подумай почему второй запрос не работает.
 

vovanium

Новичок
findnext
Да не в кавычках там проблема и не в слэшах, а в запятой
так как он тупо переносит comfile='', из середины в конец запроса, в итоге у него 2 ошибки, отсутствует запятая перед comfile, и вторая ошибка запятая перед WHERE.

Для ТС, подумай чем отличается (1, 2, 3) от (1, 2 3,)
 

findnext

Новичок
vovanium
про кавычки сказал, чтобы поле было оформлено как поле, а значение как значение. Видел случаи когда ньюбы составляют запрос ( desc = "value" в таком виде ) а потом 3 дня бьются головой об стену твёрдо твердя что синтаксис правильный, но мускул всё равно ругается на неправельный синтаксис.

-~{}~ 07.04.09 14:01:

+ слеши и кавычки против инъекций - но это уже другая тема

-~{}~ 07.04.09 14:03:

отсутствует запятая перед comfile, и вторая ошибка запятая перед WHERE.
ну это само собой
 

iolke

Новичок
Да с запятыми стало понятно, только вот еще загадка - в случае если я заменяю один файл на другой, то апдейт работает, а если я изменяю данные в других полях, а файл не трогаю, то снова ругается на синтаксис.
Если я перемещаю $big выше поля масштаб при запросе, то все работает отлично делает и то и другой, а если ставлю внизу перед Where, то ругается, даже если я соблюдаю запятые.

PHP:
$query = "UPDATE company SET  name = '".$_POST["name"]."',
                              address = '".$_POST["address"]."',
                              phone = '".$_POST["phone"]."',
                              email = '".$_POST["email"]."',
                              url = '".$_POST["url"]."',
                              products = '".$_POST["products"]."',
                              year = '".$_POST["year"]."',
                              status = '".$_POST["status"]."',
                              director = '".$_POST["director"]."',
                              mashtab = '".$_POST["mashtab"]."',
                              $big
		WHERE id_product=".$_POST['id_product'];
 

vovanium

Новичок
iolke
Капец, неужели так сложно понять что mysql абсолютно пофиг в каком порядке идут поля. И если ты что-то меняешь в запросе после чего он не работает, то значит ТЫ накосячил при перестановке, а запятые ты не соблюдаешь, иначе все бы работало...
сделай echo $query и убедись в этом
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
iolke
Для тех, кто в танке.
если у тебя, даже когда ты соблюдаешь запятые,
возникает ошибко, то будь, добр в следующий
раз внимательно ознакомиться

И оформить топик в соответствии с рекомендациями.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху