Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter:如何一次将多个数组值插入mysql数据库?_Php_Mysql_Arrays_Codeigniter - Fatal编程技术网

Php codeigniter:如何一次将多个数组值插入mysql数据库?

Php codeigniter:如何一次将多个数组值插入mysql数据库?,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我有一个这样的数组 array(3) { ["address"] => array(3) { [0] => string(9) "Address 1" [1] => string(9) "Address 2" [2] => string(9) "Address 3" } ["number"] => array(3) { [0] => string(3) "123" [1] =>

我有一个这样的数组

array(3) { 
  ["address"] => array(3) { 
     [0] => string(9) "Address 1" 
     [1] => string(9) "Address 2" 
     [2] => string(9) "Address 3" 
  } 
  ["number"] => array(3) { 
     [0] => string(3) "123" 
     [1] => string(3) "456" 
     [2] => string(3) "789" 
  } 
  ["state"] => string(3) "usa" 
} 
id |  address  |  number  |  state
----------------------------------
1  |  Address 1 |   123    |   usa
2  |  Address 2 |   456    |   usa
3  |  Address 3 |   789    |   usa
我想将数组数据插入我的数据库表中。所以,我希望我有一个数组的数据可以输入到这样的数据库中

array(3) { 
  ["address"] => array(3) { 
     [0] => string(9) "Address 1" 
     [1] => string(9) "Address 2" 
     [2] => string(9) "Address 3" 
  } 
  ["number"] => array(3) { 
     [0] => string(3) "123" 
     [1] => string(3) "456" 
     [2] => string(3) "789" 
  } 
  ["state"] => string(3) "usa" 
} 
id |  address  |  number  |  state
----------------------------------
1  |  Address 1 |   123    |   usa
2  |  Address 2 |   456    |   usa
3  |  Address 3 |   789    |   usa
如何将数组数据一次插入到数据库表中?我的数组是动态的,数组的数量可以随时更改。

只有一种方式: 环路

像这样:

$arr=array(1=>5,2=>8,3=>14);//a simple array for example
    for($i=0;$i<$ARRAYMAX;$i++){
        mysql_query("insert into Table1(x) values($arr[$i])");
    }
$arr=array(1=>5,2=>8,3=>14)//例如,一个简单的数组
对于($i=0;$i数组(3){
[0]=>字符串(9)“地址1”
[1] =>字符串(9)“地址2”
[2] =>字符串(9)“地址3”
} 
[“数字”]=>数组(3){
[0]=>字符串(3)“123”
[1] =>字符串(3)“456”
[2] =>字符串(3)“789”
} 
[“州”]=>字符串(3)“美国”
} 
对于($i=0;$i,如果使用现有数组

for($i = 0;$i < count($arr["address"]); $i++)
    $this->db->insert('TABLE', 
      array( "address" =>$arr["address"][$i],
             "number" => $arr["number"][$i],
             "state" =>$arr["state"])"); 
for($i=0;$idb->insert('TABLE',
数组(“地址”=>$arr[“地址”][$i],
“编号”=>$arr[“编号”][$i],
“州”=>$arr[“州”]);
或者创建新数组并执行一次批插入

for($i = 0;$i < count($arr["address"]); $i++)
   $batch[] = array( "address" =>$arr["address"][$i],
             "number" => $arr["number"][$i],
             "state" =>$arr["state"])");
$this->db->insert_batch('TABLE', $batch);
for($i=0;$i$arr[“地址”][$i],
“编号”=>$arr[“编号”][$i],
“州”=>$arr[“州”]);
$this->db->insert_batch('TABLE',$batch);

1)使用mysql的扩展语法编写insert。2) 使用循环并插入单个记录,直到完成数组。@MarcB您能解释如何执行循环吗?此数组是$\u POST的结果吗?您能解释一下我的情况吗?我对如何实现数据数组循环以将其插入数据库表@EsmailJamshidiasl感到困惑