Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Переменная как индекс массива в запросе к MYSQL
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
Добрый день.
Подскажите
Во общем ставлю индекс в массиве с помощью переменной а echo и в бд этот индекс просто не принимается,просто пусто, если вписываю цифры в индекс массива, все в порядке.
echo"INSERT INTO Otveti (Vopros, Otvet1,Otvet2,Otvet3,Otvet4) VALUES ('{$b[$a]}','{$b[$f]}','{$b[$c]}','{$b[$d]}','{$b[$e]}')";
Все равно не видит.
DlTA
Отправлено: 04 Мая, 2011 - 00:44:01
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
значит индексы указывают в несуществующую область
простой вывод
echo "$a={$b[$a]}','$f={$b[$f]}','$c={$b[$c]}','$d={$b[$d]}','$e={$b[$e]}'";
и сразу будет видно что и куда указывает.
Максим21
Отправлено: 04 Мая, 2011 - 00:48:25
Новичок
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
DlTA пишет:
значит индексы указывают в несуществующую область
простой вывод
echo "$a={$b[$a]}','$f={$b[$f]}','$c={$b[$c]}','$d={$b[$d]}','$e={$b[$e]}'";
и сразу будет видно что и куда указывает.
Если просто ввожу вручную значение переменной как индекс в массив то все впорядке.
Или я не правильно понял?.
10=','11=','12=','13=','14='
echo "$a={$b[$a]}','$f={$b[$f]}','$c={$b[$c]}','$d={$b[$d]}','$e={$b[$e]}'";
видит переменные но теже что внутри фигурных уже не видет. (Добавление)
То есть такое впечатление что нужен какой то синтакис SQL внутри запроса потому что вне его переменные в индексе нормально работают.
Буду искать
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
мне кажется просто нету таких индексов
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
evgenijj
Отправлено: 04 Мая, 2011 - 00:57:08
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Бредокод в чистом виде. Можно структуру файла? Тогда можно написать и скрипт интеграции файла в БД. fgets() использовать можно, но эта функция уже лет десять как устарела.
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
OrmaJever пишет:
мне кажется просто нету таких индексов
Может я действительно устал и не вижу очевидного, но я уже десять проверил, утро вечера мудреней, буду с утра долбить)
Спасибо всем. (Добавление)
evgenijj пишет:
Бредокод в чистом виде. Можно структуру файла? Тогда можно написать и скрипт интеграции файла в БД. fgets() использовать можно, но эта функция уже лет десять как устарела.
А какой же функцией пользуются у Вас на сайте под черпнул?
1.Письмо от Вашего сотрудника. Скорее всего это:
a.Совет
b.Злостный прикол
c.Свежая порция сплетен
d.Веселая пародия на руководителя
2.Атмосфера в офисе:
a.Бывает разная
b.Творческая
c.Консервативная
d.Тяжелая
3.Утро понедельника. Ваш коллега:
a.Бойкий и болтливый
b.Истощенный и грустный
c.Игнорирует меня
d.Все время работает
4.Начало совещания. Ваш коллега:
a.Будет повторять монолог Гамлета
b.Сделает комплимент боссу по поводу его выбора туфель
c.Смущенно подойдет на 15 минут позже
d.Заклеймит презентацию нового проекта
e.Пожалуется на отсутствие бесплатного кофе[/quote]
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Максим21 пишет:
А какой же функцией пользуются у Вас на сайте под черпнул?
Вроде оба по-русски говорим, но взаимопонимания нет.
Что означает Ваша фраза? (Русский язык богат, жаль, что Вы им не владеете)
А какой же функцией пользуются у Вас?
А какой же функцией пользуются у Вас на сайте?
А какой же функцией пользуются? У Вас на сайте почерпнул.
Если верно последнее утверждение - на каком сайте почерпнули? Что почерпнули? Почерпнули что-то полезное?
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
Наверно что то с циклом связано, что действительно индекса такого не существует. (Добавление)
evgenijj пишет:
Максим21 пишет:
А какой же функцией пользуются у Вас на сайте под черпнул?
Вроде оба по-русски говорим, но взаимопонимания нет.
Что означает Ваша фраза? (Русский язык богат, жаль, что Вы им не владеете)
А какой же функцией пользуются у Вас?
А какой же функцией пользуются у Вас на сайте?
А какой же функцией пользуются? У Вас на сайте почерпнул.
Если верно последнее утверждение - на каком сайте почерпнули? Что почерпнули? Почерпнули что-то полезное?
Я имел ввиду функцию про которую Вы говорили, что она устарела. Да почерпнул вот эту самую функцию fgets)
evgenijj
Отправлено: 04 Мая, 2011 - 01:29:19
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Мы здесь долго можем говорить "ни о чем". Чтобы сказать что-то мудрое, нужно посмотреть на файл ask.txt.
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
[quote=evgenijj]
Максим21 пишет:
А какой же функцией пользуются у Вас на сайте под черпнул?
Извините, если я что то не так сказал, русским не владею, стыдно.
А дело все таки в цикле, так как запрос не успевает менять индексы,и в итоге берутся максимальные значение, которых в массиве кстати почему то не оказывается, в итоге пусты строки.
Вот странно почему fgets присваивает еще несколько пустых строк возможно нужен символ конца файла.
DlTA
Отправлено: 04 Мая, 2011 - 03:02:44
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
вообще посоветовал бы более наглядно оформлять код, скорее всего только из за этого и не заметили ошибку в этом месте
ошибка заключается в том что когда прочитан набор "1 вопрос и 4 ответа" ваш код пытается это дело записать НО индексы просчитываются не в ту сторону
пытаюсь объяснить наглядно
в $b[0]-вопрос $b[1]-$b[4] - ответы.
а после того как вы заполнили эти поля происходит обращение в поля начиная с 5
тоесть $b[5]-вопрос $b[6]-$b[9] - ответы. которые еще не определены.
надо было писать чет типа:
$f=$a-4;
$c=$a-3;
$d=$a-2;
$e=$a-1;
ну и для вопроса использовать не $a а какой нить $aa=$a-5;
и усе)
Максим21
Отправлено: 04 Мая, 2011 - 13:14:30
Новичок
Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
DlTA пишет:
вообще посоветовал бы более наглядно оформлять код, скорее всего только из за этого и не заметили ошибку в этом месте
ошибка заключается в том что когда прочитан набор "1 вопрос и 4 ответа" ваш код пытается это дело записать НО индексы просчитываются не в ту сторону
пытаюсь объяснить наглядно
в $b[0]-вопрос $b[1]-$b[4] - ответы.
а после того как вы заполнили эти поля происходит обращение в поля начиная с 5
тоесть $b[5]-вопрос $b[6]-$b[9] - ответы. которые еще не определены.
надо было писать чет типа:
$f=$a-4;
$c=$a-3;
$d=$a-2;
$e=$a-1;
ну и для вопроса использовать не $a а какой нить $aa=$a-5;
и усе)
Спасибо за помощь.
Во общем сделал так, может бредо код но в силу моих возможностей.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.