Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавление данных
 
 автор: Denandi   (14.10.2009 в 11:07)   письмо автору
 
 

Всем привет!
Народ, скажите пожалуйста - кто нибудь добавлял данные в DB - в цикле
 конструкцией implode(',',$val)

Просто, попробовал и не вышло, возможно и не катит. Может и не правильно сделал Не пробовал таким образом.
если это реально, тогда приведу отрезок тестового кода.
Благодарю за помощь.

  Ответить  
 
 автор: root   (14.10.2009 в 11:10)   письмо автору
 
   для: Denandi   (14.10.2009 в 11:07)
 

с каких это пор implode добавляет данные в DB? :)
Приводите отрезок кода.

  Ответить  
 
 автор: Denandi   (14.10.2009 в 11:17)   письмо автору
 
   для: root   (14.10.2009 в 11:10)
 

для примера добавлял ..
mysql_query("UPDATE categories SET is_valid=1 WHERE id IN (".implode(",",$valid_id).")");


вот и возникла надобность по прямому добавлению массива в DB

  Ответить  
 
 автор: root   (14.10.2009 в 11:20)   письмо автору
 
   для: Denandi   (14.10.2009 в 11:17)
 

и что именно не работает?

  Ответить  
 
 автор: Trianon   (14.10.2009 в 11:34)   письмо автору
 
   для: Denandi   (14.10.2009 в 11:17)
 

Замените mysql_query на echo и посмотрите, что Вы пытаетесь исполнить.
И в любых подобных ситуациях поступайте именно так.

  Ответить  
 
 автор: Denandi   (14.10.2009 в 12:59)   письмо автору
 
   для: Trianon   (14.10.2009 в 11:34)
 

Спасибо Trianon за грамотный совет
не справился с задачей где то ошибка в конструкции IN(), может опять в кавычках утонул?!
если кто видит ошибку, дайте знать..
Спасибо!
кстати, foreach тоже надо оборачивать

foreach ($arr1 as $val1)
foreach ($arr2 as $val2)
foreach ($arr3 as $val3)

mysql_query("INSERT INTO `table` ( `test1`,`test2`,`test3` )
VALUES (
IN ('".implode(',',$val1)."')),
IN ('".implode(',',$val2)."')),
IN ('".implode(',',$val3)."'))
 ");

  Ответить  
 
 автор: Trianon   (14.10.2009 в 13:05)   письмо автору
 
   для: Denandi   (14.10.2009 в 12:59)
 

Может Вы всё же покажете текст SQL-запроса?

  Ответить  
 
 автор: Denandi   (14.10.2009 в 13:21)   письмо автору
 
   для: Trianon   (14.10.2009 в 13:05)
 

Trianon, какой текст вам показать? не совсем понял что именно интересует.

  Ответить  
 
 автор: Trianon   (14.10.2009 в 13:38)   письмо автору
 
   для: Denandi   (14.10.2009 в 13:21)
 

последуйте еще раз совету (14.10.2009 в 11:34)

  Ответить  
 
 автор: Diplex   (14.10.2009 в 13:12)   письмо автору
 
   для: Denandi   (14.10.2009 в 12:59)
 

Сделайте перед добавлением этот код, и посмотрите, в каком виде Вы пытаетесь добавить данные, скорее всего, результат требует дополнительной обработки:
echo implode(',',$val1);

  Ответить  
 
 автор: Trianon   (14.10.2009 в 13:14)   письмо автору
 
   для: Diplex   (14.10.2009 в 13:12)
 

никакой допобработки там не надо.
Надо лишь понять, каким запросом пользуешься.

  Ответить  
 
 автор: psychomc   (14.10.2009 в 11:20)   письмо автору
 
   для: Denandi   (14.10.2009 в 11:07)
 

нужно с помощью imlode запрос insert составить? реально и всё катит. поместите в переменную результат и посмотрите почему не работает. сами и увидите ошибку

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования