Php 使用Mysql插入的数组循环

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"

我有一个名为$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(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.") ";