我有一个数组如下:
$data = array('John',22,'Peter',31,'Kevin',30,'Jessy',28.......'Revin',23);
此数组将包含数千个名称,年龄相同格式的元素。
现在我需要使用PHP / MYSQL函数将这个数组插入表中。
--------------------
Id Name Age
--------------------
1 John 22
2 Peter 31
3 Kevin 30
请注意不要给出循环或爆炸等选项。感谢帮助
答案 0 :(得分:4)
我希望波纹管代码可以根据您的要求工作, 快乐编码: - )
$data=array('John',22,'Peter',31,'Kevin',30,'Jessy',28);// list of array
$array=array_chunk($data, 2);// converting array to multidimensional array
$arraytostr = implode(',', array_map(function($el){ return "('".$el['0']."',".$el['1'].")"; }, $array)); // implode the multidimensional array to ','separate array
$query="INSERT INTO test (fname,age) VALUES ".$arraytostr;// append the new ',' separate array with query
答案 1 :(得分:3)
$query = $pdo_db->prepare("
INSERT
INTO table (
name,
age
)
VALUES " . rtrim(str_repeat('(?,?),', count($data)/2), ',')
);
$query->execute($data);
答案 2 :(得分:0)
没有循环就无法做到这一点,imo。
$data = array('John',22,'Peter',31,'Kevin',30,'Jessy',28);
$length = count($data);
for($i=0;$i<$length;$i+=2) {
$sql = 'INSERT INTO <TABLE> (`Name`,`Age`) VALUES ("' . ( $data[$i] ) . ',"' . $data[$i+1] . '");';
}
可以更好地安排数组来表示数据。