[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите записать в БД елементы массива
westside_90
Не могу записать елементы ассоциативного массива, при выполении запроса получаю ошибку - неверный синтаксис:

mysql_query("INSERT INTO `db`.`table`
(
`first` ,
`second` ,
`third`
)
VALUES
(
'".$mass['a']['first']."', '".$mass['a']['second']."', '".$mass['a']['third']."'
)
");

Подскажите, как записать елементы данного массива



Спустя 11 минут, 42 секунды (20.03.2012 - 16:38) m4a1fox написал(а):
mysql_query("INSERT INTO `db`.`table`
(
`first` ,
`second` ,
`third`
)
VALUES
(
'".$mass['a']['first']."', '".$mass['a']['second']."', '".$mass['a']['third']."'
)
") or die("Error is - "mysql_error());

Спустя 4 минуты, 15 секунд (20.03.2012 - 16:42) westside_90 написал(а):
даст вот такой результат примерно:

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 'first', 'second', 'third' at line 9

first, second и third соответственные елементы массива

Спустя 6 минут, 27 секунд (20.03.2012 - 16:49) Placido написал(а):
Запрос, вроде бы, корректный. Возможно, проблемы в самом массиве (его значения могут содержать апострофы). Поэтому
а)
$sql = "INSERT INTO `db`.`table`
(
`first` ,
`second` ,
`third`
)
VALUES
(
'"
.$mass['a']['first']."', '".$mass['a']['second']."', '".$mass['a']['third']."'
)
"
;

echo $sql;


б) Используйте mysql_real_escape_string();

Спустя 3 минуты, 53 секунды (20.03.2012 - 16:52) m4a1fox написал(а):
westside_90
Сколько в массиве уровней?

Спустя 2 минуты, 54 секунды (20.03.2012 - 16:55) westside_90 написал(а):
в массиве два уровня, все значения есть, перед этим вывожу для себя массив, чтобы видеть елементы

Спустя 15 минут, 16 секунд (20.03.2012 - 17:11) m4a1fox написал(а):
ну так сделай переменные например $first = $mass['a']['first']; и так далее а потом вставляй их в запрос...

Спустя 1 минута, 11 секунд (20.03.2012 - 17:12) Visman написал(а):
westside_90, показывай, что распечатало тут

$sql = "INSERT INTO `db`.`table`
(
`first` ,
`second` ,
`third`
)
VALUES
(
'"
.$mass['a']['first']."', '".$mass['a']['second']."', '".$mass['a']['third']."'
)
"
;

echo $sql;

Спустя 2 минуты, 3 секунды (20.03.2012 - 17:14) westside_90 написал(а):
Цитата (m4a1fox @ 20.03.2012 - 14:11)
ну так сделай переменные например $first = $mass['a']['first']; и так далее а потом вставляй их в запрос...

так примерно и было, цель упростить и не делать лишних движений)

Спустя 1 минута, 40 секунд (20.03.2012 - 17:15) m4a1fox написал(а):
westside_90
Мдя.... ну я тогда ХЗ!
И еще вопрос...
Вот это

.$mass['a']['first'].

string||array()

Спустя 17 минут, 35 секунд (20.03.2012 - 17:33) westside_90 написал(а):
Цитата (Visman @ 20.03.2012 - 14:12)
westside_90, показывай, что распечатало тут

$sql = "INSERT INTO `db`.`table`
(
`first` ,
`second` ,
`third`
)
VALUES
(
'"
.$mass['a']['first']."', '".$mass['a']['second']."', '".$mass['a']['third']."'
)
"
;

echo $sql;

INSERT INTO `db`.`table` ( `first` , `second` , `third` ) VALUES ( 'first', 'second', 'third' )


значит что-то не так с таблицей...

Спустя 1 минута, 28 секунд (20.03.2012 - 17:35) Placido написал(а):
А у базы имя `db`?

Спустя 19 минут, 15 секунд (20.03.2012 - 17:54) westside_90 написал(а):
нашёл ошибку у себя, пропустил кавычку, увидел когда запрос вывел как текст, у меня он реальный почти два десятка елементов, и всё в куче, вот и придумал себе проблему на полдня... всем спасибо, синтаксис всё-таки был правильный)
Быстрый ответ:

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