[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: You have an error in your SQL syntax…
Юрий Шу
Хочу записать данные двухмерного массива в базу данных, в итоге выдается ошибка
«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 ')' at line 1». Что она означает?

У меня был массив $RESULT вида
PHP
Array ( [0] => Array ( [0] => Январь [1] => 1 [2] => 2009 ) [1] => Array ( [0] => Январь [1] => 2[2] => 2009 )

И запрос
PHP
$nn=count($RESULT);
for(
$i=0;$i<$nn;$i++){
mysql_query("INSERT INTO resheniya VALUES (".$RESULT[$i][0]." , ".$RESULT[$i][1].")")or print mysql_error()."<br>";
}


У меня в базе 3 колонки, а записать я хочу только 2.
Так нельзя??



Спустя 34 минуты, 1 секунда (19.01.2009 - 11:45) sergeiss написал(а):
Можно и одну колонку указать, но надо тогда указывать список колонок, типа такого (для 2-х колонок):
PHP
"INSERT INTO resheniya (ID, FIO) VALUES (...."

где ID и FIO - это я условно взял названия колонок, куда производится вставка.

Спустя 15 минут, 5 секунд (19.01.2009 - 12:00) Юрий Шу написал(а):
sergeiss, написал
PHP
mysql_query("INSERT INTO resheniya (id, date, name) VALUES (".$RESULT[$i][0]." , ".$RESULT[$i][1]." , '".$RESULT[$i][2]."', )")or print mysql_error()."<br>";


Писать отказывается sad.gif

Спустя 11 минут, 25 секунд (19.01.2009 - 12:11) sergeiss написал(а):
Еще, извиняй smile.gif Сразу хотел сказать, но забыл. Кавычки в строке (внутри) используй для дат и символьных строк, но не для целых чисел.
Плюс к этому, имена колонок таблиц лучше тоже "ограждать" спецсимволами (обрати внимамание, это НЕ апострофы!!!). Причина - у тебя отдельные поля (date, например) являются ключевыми словами языка SQL.
В твоем случае, как я понимаю, должно быть так:
PHP
mysql_query("INSERT INTO resheniya (`id`, `date`, `name`) VALUES (".$RESULT[$i][0]." , '".$RESULT[$i][1]."' , '".$RESULT[$i][2]."', )")or print mysql_error()."<br>";

Спустя 39 минут, 34 секунды (19.01.2009 - 12:51) Юрий Шу написал(а):
sergeiss, спасибо огромное, получилось, только там запятой не будет в конце запроса smile.gif
PHP
mysql_query("INSERT INTO resheniya (`id`, `date`, `name`) VALUES (".$RESULT[$i][0]." , '".$RESULT[$i][1]."' , '".$RESULT[$i][2]."' )")or print mysql_error()."<br>";

Вот так smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.