переменная в insert into values

интернет программирование php базы данных

есть массив

[grade1]=5
[name1]=petrovich
[grade2]=8
[name2]=nastya
[grade3]=5
[name3]=katya

нужно чтобы [grade1], [name1] были в одной строке, тоесть с одинаковой цифрой в одной строке, пытаюсь вставить в базу так

В $x счетчик

mysql_query("INSERT INTO `base` (`id`, `grade`, `name`)
VALUES ('$id',
'$a[grade$x]',
'$a[name$x]')") Or die(mysql_error());
Ответы:
индексы заключайте в кавычки. Вы же не мой напарник, с которым я мучаюсь над этим уже третий год...
$a[grade$x] — конструкция, лишенная смысла. Парсер ее не съест так, как хотите — подставит только $x.
Постройте запрос не одной строкой, а конкатенацией нескольких:
$query = 'INSERT INTO `base` (`id`, `grade`, `name`) VALUES ('.$id.', \''.mysql_real_escape_string($a['grade'.$x]).'\', \''.mysql_real_escape_string_string($a['name'.$x]).'\')';
mysql_query($query) or exit(mysql_error());


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.