Php 使用Mysql插入的数组循环
我有一个名为$columns的数组:Php 使用Mysql插入的数组循环,php,Php,我有一个名为$columns的数组: array(3) { [0]=> string(8) "Food" [1]=> string(6) "Calories" [2]=> string(3) "Carbs" } array(3) { [0]=> string(8) "Food" [1]=> string(6) "Calories"
array(3) {
[0]=>
string(8) "Food"
[1]=>
string(6) "Calories"
[2]=>
string(3) "Carbs"
}
array(3) {
[0]=>
string(8) "Food"
[1]=>
string(6) "Calories"
}
另一种称为“值”
array(5) {
[0]=>
string(4) "'Fish'"
[1]=>
string(7) "'100'"
[2]=>
string(13) "'0'"
}
array(6) {
[0]=>
string(4) "'Tatoe'"
[1]=>
string(7) "'100'"
}
我的数据库中有代表一个数组所有可能列的列。根据项目的不同,这些数组可以有5,6个或更多或更少的列
我有这样一段代码,假设它可以生成这种意义上的sql语句:
将值(值数组中的值)插入(该数组中的列)
代码如下:
for($i = 0; $i < count($column); $i++)
{
echo("INSERT INTO 'MEALS` ($column[$i]) VALUES ($values[$i])\n");
}
而不是都在同一个查询上
在膳食中插入(食物、卡路里、碳水化合物)值('Fish'、'100'、'0')
因此,如果我在数据库中插入,将创建3行
我知道我缺少逻辑,非常感谢您提供的任何帮助为什么不在数组循环中生成查询的两部分(1个变量用于insert中的列,1个变量用于值)
循环完成后,只需连接字符串:
$query=“插入到‘膳食’(“$var_列_列表”)值(“..$var_值_列表”)”
根据您的需要尝试使用上述变体试试这个
$colums = implode(',', $array_of_colums);
$values = implode(',', $array_of_values);
$query = "INSERT INTO `tableName` (".$colums.") VALUES(".$values.") ";
你为什么不把插入物合为一个呢<代码>插入到膳食(您的,列,名称)值(您的,值,此处),(另一个,值,此处)代码>?
$query = "insert into table(".join($colomn,','). ") values (\"".join($values,'","')."\")";
$colums = implode(',', $array_of_colums);
$values = implode(',', $array_of_values);
$query = "INSERT INTO `tableName` (".$colums.") VALUES(".$values.") ";