将多维数组插入Mysql表

时间:2014-12-10 18:40:47

标签: mysql pdo multidimensional-array

我有一个像这样的多维数组:

TAB = Array ( 
    [field1] => Array ( [0] => 111 [1] => 777 [2] => 222 ... ) 
    [field2] => Array ( [0] => MAT [1] => MAT [2] => MAT ... ) 
    [field3] => Array ( [0] => 8A [1] => 8B [2] => 8C ... )
    )

我希望使用PDO将此Array的值INSERT到mysql临时TABLE1。 我怎么办? 感谢。

1 个答案:

答案 0 :(得分:-2)

假设PHP和ASSUMING你有一个TABLE1,它有两个位置列和一个值列(一列用于第一个数组中的位置,第二列用于第二个数组中的位置,值列用于实际值)。 $ dbh是您的数据库处理程序。

$keys = array_keys($TAB); // because the array is associative, we need array_keys
for ($i = 0; $i < $TAB.length; $i++){ 
    for ($j = 0; $j < $TAB[keys[$i]].length; $j++){
           $stmt = $dbh->prepare("INSERT INTO TABLE1 (location1, location2, value)  VALUES (:location1, :location2, :value )");
           $stmt->bindParam(':location1', $i);
           $stmt->bindParam(':location2', $j);
           $stmt->bindParam(':value', $TAB[$keys[$i]][$j]);
           $stmt->execute();
        }
}