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
Форумы портала PHP.SU :: Версия для печати :: Помогите разобраться, как записать массив в таблицу?
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите разобраться, как записать массив в таблицу?

Страниц (1): [1]
 

1. andreyphp - 07 Июля, 2008 - 22:07:57 - перейти к сообщению
Помогите разобраться, как записать массив в таблицу?

Вот так я пытался, это сделать….


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define("TBRSS", "bd");
  3.  $user = "testuser";
  4.  $pass = "testuser777";
  5.  $db   = "testuser";
  6. /**
  7.  * @author andreyfx
  8.  * @copyright 2008
  9.  */
  10. $name[1]=1.1;
  11. $name[2]=2.1;
  12. $name[3]=3.1;
  13. $name[4]=4.1;
  14. $name[5]=5.1;
  15. foreach ($name as $vivod)
  16. //echo   $vivod .  "<br/>";
  17.  
  18. $connection= mysql_connect("localhost", $user, $pass)
  19.                  or die("Could not connect: ".mysql_error());
  20.                  
  21.                                  mysql_query("CREATE DATABASE $db");
  22.                                  
  23.                                  mysql_select_db($db, $connection)
  24.                    or die("Could not select database: ".mysql_error());
  25.   $query="INSERT INTO TBRSS1(masiv) VALUES
  26.    ( 'name[i] ')" ;  
  27.                
  28.         echo $query;
  29.                
  30.                 $result=mysql_query($query)
  31.                 or die("Ошибка: ".mysql_error());
  32.                
  33. //      while ($row=mysql_fetch_array($result));
  34.                
  35.        
  36. mysql_close($connection);              
  37. ?>
2. valenok - 07 Июля, 2008 - 22:37:20 - перейти к сообщению
serialize / unserialize

http://phpfaq[dot]ru/debug
3. Otto - 09 Июля, 2008 - 23:28:23 - перейти к сообщению
считаю что надо зделать так.
Вопервых цикл foreach ($name as $vivod) стоит не там где нужно.
К базе достаточно один раз подконектится.
Достаточно создать одну таблицу и выбрать её из базы тоже только один раз (тоесть всё это зделать ещё до цикла foreach).
Мой вариант этого скрипта - если использовать процедурный подход -
PHP:
скопировать код в буфер обмена
  1.  
  2.  <?PHP
  3.  $user = "username";
  4.  $pass = "password";
  5.  $db   = "training";
  6.  
  7.  
  8. $name[1]=1.1;
  9. $name[2]=2.1;
  10. $name[3]=3.1;
  11. $name[4]=4.1;
  12. $name[5]=5.1;
  13.  
  14. $connection = mysql_connect("localhost", $user, $pass)
  15.                  or die("Could not connect: ".mysql_error());
  16. $db = mysql_select_db ("training",$connection);
  17.  
  18.  
  19. //поле arr что знать из какого массива
  20. //чтобы можно было использовать эту таблицу не только под один массив
  21. $querry = mysql_query("CREATE TABLE `test` (
  22. `id` INT( 10 ) NOT NULL ,
  23. `arr` CHAR( 15 ) NOT NULL ,
  24. `id_in_arr` INT( 15 ) NOT NULL ,
  25. `value` FLOAT( 15 ) NOT NULL ,
  26. PRIMARY KEY ( `id` )
  27. );") or die ("could not create table 'test'");
  28.  
  29.  
  30. foreach ($name as $key => $value)
  31.         {
  32.         $result = mysql_query ("INSERT INTO test (arr,id_in_arr,value) VALUES ('name','$key','$value')") or die ('ska , laja');
  33.         }
  34.  

 

Powered by ExBB FM 1.0 RC1