Народ - мускуль помогите.

12
malls
На сайте с 08.08.2005
Offline
255
704

Может глаз зымылился, может фиг знает. Второй час пытаюсь понять - не понимаю. Кавычки уже всяко разно перепробовал и с ними и без - все одно не помогает.

Запрос (несколько UPDATE подряд):

UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=1 ; 

UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=2 ;
UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=3 ;
UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=4 ;
UPDATE payments_type SET 'cls_1'='60','cls_2'='60','cls_3'='60','cls_4'='60','cls_5'='60','cls_6'='60','cls_7'='60','cls_8'='60','cls_9'='60','cls_10'='60','cls_11'='60','cls_12'='60','cls_13'='60','cls_14'='60','cls_15'='60','cls_16'='60' WHERE id=5 ;
UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=6 ;
UPDATE payments_type SET 'cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_6'='0.00','cls_7'='0.00','cls_8'='0.00','cls_9'='0.00','cls_10'='0.00','cls_11'='0.00','cls_12'='0.00','cls_13'='0.00','cls_14'='0.00','cls_15'='0.00','cls_16'='0.00' WHERE id=7 ;

В реальности, они не переводами строки разделены, а пробелами (хотя с переводом - тоже не пашет)

Вопрос, чего хочет эта гнусь:

mysql_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 ''cls_1'='0.00','cls_2'='0.00','cls_3'='0.00','cls_4'='0.00','cls_5'='0.00','cls_' at line 1

ЗЫ: Все эти cls-ы: decimal(7,2)

D
На сайте с 29.01.2009
Offline
42
#1

Не кавычки надо а `

UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00'...

сегодня стал еще беднее
malls
На сайте с 08.08.2005
Offline
255
#2

Я не буду грубо, я просто повторюсь:

Кавычки уже всяко разно перепробовал и с ними и без - все одно не помогает.
Pike
На сайте с 13.07.2004
Offline
79
#3

Devider правду сказал. Поправьте сперва, потом уже новый код и ошибку выкладывайте.

free hosting (http://rahost.com)
D
На сайте с 29.01.2009
Offline
42
#4

Просто такую ошибку:

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 ''n'=1' at line 1

MYSQL выводит в случае, если поля заключены в кавычки. Правильно будет так `cls_1`. Если вы исключите эту ошибку из запросов и снова ничего не выйдет, то ошибка, надо полагать, будет уже другая. Облегчите работу тем, кто хочет вам помочь.

malls
На сайте с 08.08.2005
Offline
255
#5
Devider:
Просто такую ошибку:

«Я спокоен», «Меня ничто не волнует», «Никаких тревог», «Расслабляюсь», «Чувствую себя свободно и легко», «Я спокоен», «Я спокоен», «Я спокоен», «Всё тело расслаблено», «Мне легко и приятно», «Я отдыхаю»...

Я не хочу листингами всех подряд вариантов забить тут пару первых страниц. Поэтому повторюсь: кавычки меня достали уже во всех их проявлениях, если б знал как китайские пишутся - и их бы уже попробовал. Сути это не меняет - ошибка та же....

Могу последнюю фразу повторить еще раз пять. Даже шесть! Даже семь если это будет нужно и поможет доходчиво изложить проблему - нужно?

Трабла в чем то простом - только я реально устал (простите за то, что немного раздражен) и не могу ее найти. НО ТОЛЬКО НЕ В КАВЫЧКАХ.

D
На сайте с 29.01.2009
Offline
42
#6
Сути это не меняет - ошибка та же....

Это просто невозможно. Значит где-то кавычку пропустили.

Числа можно оставить в кавычках. Поля так `cls_x`, это надежнее, чем просто cls_x. Сделайте сии преобразования, ошибок быть не должно.

Вы запрос в phpMyAdmin делаете? Не исключено, что ошибка в скрипте, тож где-то с ковычками напутали.

Pike
На сайте с 13.07.2004
Offline
79
#7

Malls

Я тоже повторюсь - сделайте как сказал Drvider и покажите результат. Других вариантов себе оставьте. Вы выложили плохой SQL, Вам сказали в чем _очевидная_ проблема. Кипишь?

malls
На сайте с 08.08.2005
Offline
255
#8
Pike:
Malls

Я тоже повторюсь - сделайте как сказал Drvider и покажите результат. Других вариантов себе оставьте. Вы выложили плохой SQL, Вам сказали в чем _очевидная_ проблема. Кипишь?

хнык-хнык.... хорошо - я не прав грублю (простите):

UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='1' ; 

UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='2' ;
UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='3' ;
UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='4' ;
UPDATE payments_type SET `cls_1`='60',`cls_2`='60',`cls_3`='60',`cls_4`='60',`cls_5`='60',`cls_6`='60',`cls_7`='60',`cls_8`='60',`cls_9`='60',`cls_10`='60',`cls_11`='60',`cls_12`='60',`cls_13`='60',`cls_14`='60',`cls_15`='60',`cls_16`='60' WHERE `id`='5' ;
UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='6' ;
UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`='0.00',`cls_5`='0.00',`cls_6`='0.00',`cls_7`='0.00',`cls_8`='0.00',`cls_9`='0.00',`cls_10`='0.00',`cls_11`='0.00',`cls_12`='0.00',`cls_13`='0.00',`cls_14`='0.00',`cls_15`='0.00',`cls_16`='0.00' WHERE `id`='7' ;
mysql_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 '; UPDATE payments_type SET `cls_1`='0.00',`cls_2`='0.00',`cls_3`='0.00',`cls_4`=' at line 1

все равно не работает.

При том что указанные варианты на уровне phpmyadmin "жрутся" на ура... т.е. по барабану на кавычки и нигде они не пропущены.

У меня скритп выводит то что я показываю - т.е. запрос сформированный ну и дальше ошибку указанную. в myAdmine запрос проходит - через скрипт нет...

D
На сайте с 29.01.2009
Offline
42
#9
При том что указанные варианты на уровне phpmyadmin "жрутся" на ура...

Значит в запросе ошибок нет, ошибка в коде. Выложите код PHP.

malls
На сайте с 08.08.2005
Offline
255
#10

$query = "...";

echo $query."<hr>";

db($query);

очень прошу не предлагать посмотреть "что там за db такая" оно ну точно без проблем - это даже обсуждать не хочу на сон грядущий...

Devider:
Значит в запросе ошибок нет, ошибка в коде.

В том то и суть - что что-то в запрросе не так, но х.з. что именно...

если раздеолить построчно, т.е.

$query = explode(";",$query);

db($query[0]);

все работает - что я пропускаю?

ЗЫ: Даже так работает: db($query[0].";"); (это на случай лишних вопросов про db)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий