迭代数组并输入数据库

时间:2015-04-15 12:31:34

标签: php mysql sql

我有一个表单,用于捕获数据并在名为" table"的数组中发布。所以表,列和元组是链接的。 我现在正试图迭代它们并将它们分成单独的字符串,      " $表" =名字     " $列" =列     " $ columnData" =数据

当我对数据执行var_dump时,它看起来像: -

array (size=2)
0 => 
array (size=3)
  'name' => string 'quote' (length=5)
  'columns' => 
    array (size=3)
      0 => string 'qid' (length=3)
      1 => string 'item' (length=4)
      2 => string 'price' (length=5)
   'data' => 
    array (size=3)
      0 => string '1' (length=1)
      1 => string 'ball' (length=4)
      2 => string '200' (length=3)
 1 => 
array (size=3)
  'name' => string 'rfq' (length=3)
  'columns' => 
    array (size=2)
      0 => string 'id' (length=2)
      1 => string 'item' (length=4)
  'data' => 
    array (size=2)
      0 => string '1' (length=1)
      1 => string 'batt' (length=4)

它以正确的格式查找,虽然当我尝试插入数据库时​​它没有插入,但是insert语句中的$ columns变量有些不起作用。 虽然我不确定我是否正确地迭代数据。

 $AllData = $_POST["table"];
  //  var_dump($AllData)


foreach ($AllData as $sigleData) {

    $table = $sigleData['name'];
    $columns = implode(" ", $sigleData['columns']);
    $columnData = implode(" ", $sigleData['data']);

     $sqlQuery = "INSERT INTO " . $table . " ( " . $columns . ") VALUES( '" . $columnData . "')";

if ($dbConnectionT->query($sqlQuery) == TRUE) {
    echo "database updated";
    echo "</br>";
}
}

所以表格引用有列qid,项目和价格。 值1,球和200,我试图正确插入。

请注意,我在这里了解数据库违规,但试图让编程示例正常工作,

如果需要上一页,请发表评论。提前谢谢。

2 个答案:

答案 0 :(得分:1)

尝试 -

foreach ($AllData as $sigleData) {

      $table = $sigleData['name'];
      $columns = implode(", ", $sigleData['columns']);
      $columnData = implode(" ',' ", $sigleData['data']);

      $sqlQuery = "INSERT INTO " . $table . " ( " . $columns . ") VALUES( '" . $columnData . "')";

      if ($dbConnectionT->query($sqlQuery) == TRUE) {
        echo "database updated";
        echo "</br>";
      }
}

答案 1 :(得分:0)

在您的插入查询中,您为两个值构建了一个'的VALUE部分...只需使用"', '"更改内部参数