php - 在mysql插入查询中使用数组

标签 php mysql multidimensional-array

我有一个 Bash/PHP 脚本,它从名为“assess_2012”的表中检索记录,并将需要写入到名为“assess_2012_err”的表中的多维数组中的记录存储:

#!/usr/bin/php -q

<?php
$host = "localhost";
$user = "username";
$pass = "password";
$name = "reassess";

$conn = mysqli_connect($host, $user, $pass, $name) OR die ("Could not connect to database: " . mysqli_error($conn) . "\n");

$q = "SELECT su_id, ass_date, ind_d FROM assess_2012";
$r = mysqli_query ($conn, $q);

if ($r) {
    while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

        // Check for errors:
        if ($row['ind_d'] == 'Y') {
            // Add to the array:
            $sql[] = array('su_id' => $row['su_id'], 'err_code' => 1);
        }
    }
    var_dump($sql);
}
else {
    // SELECT query failed:
    echo "Error: " . mysqli_error($conn) . "\n";
}
?>

'var_dump' 看起来像这样(缩短版 - 实际查询返回数百条记录):

array(1) {
  [0]=>
  array(2) 
    ["su_id"]=>
    string(1) "5"
    ["err_code"]=>
    int(1)
  }
  [1]=>
  array(2) {
    ["su_id"]=>
    string(4) "1492"
    ["err_code"]=>
    int(1)
  }
}

我想不通的是如何使用数组来生成这样的查询:

INSERT INTO assess_2012_err (su_id, err_code) VALUES (5, 1), (1492, 1)

最佳答案

使用 foreach loop 在将值输入数据库时​​循环遍历数据。

喜欢:

foreach($sql as $key=>$value){

        foreach($value as $key_p=>$value_p){

            //Implement Query here
           //R.g
          //$key will have 'su_id'
         //$value_p will have 1

            }
}

关于php - 在mysql插入查询中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13059313/

相关文章:

php - 为什么我不应该在 PHP 中使用 mysql_* 函数?

mysql - mysql中用什么命令看表并给出提示?

javascript - 从多维无穷大数组中删除数组元素

java - 如何将变量/值添加到 ListView 并将其发送到新 Activity

php - 如何获取CakePHP的根目录?

php - 从几个表中选择mysql

PHP 正则表达式主题标签和特殊字符

php - 使用 php 放入 p 标签?

MySQL对行进行分组来查找时间差

javascript - 在 D3.js 中显示来自多维数组的数据