php - 用 2 维数组数据填充 MySQL 表

标签 php mysql

我想用 2-dim 数组数据填充 MySQL 表:

    for($i=0; $i<sizeof($arr); $i++)
    {
    $query1="INSERT INTO `fsTest` (`id`,`xxx`,`yyy`,`zzz`)  
        VALUES('$arr[$i][0]','$arr[$i][1]','$arr[$i][2]','$arr[$i][3]');";
    $result1=DatabaseConnector::ExecuteQuery($query1);
    }

当我检查“fsTest”表时,我只能看到 1 行包含以下条目 [0] [1] [2] [3]。 如何解决这个问题?

更新:另一件事是我使用 $arr[$i][] = $val;填充数组。 var_dump($arr) 返回 Arrayint(0)。

最佳答案

您的变量名称需要用大括号括起来:

$query1 = "
    INSERT INTO `fsTest` (`id`,`xxx`,`yyy`,`zzz`)  
        VALUES('{$arr[$i][0]}','{$arr[$i][1]}','{$arr[$i][2]}','{$arr[$i][3]}');
";

否则,解析器会很懒,会首先找到 $arr[$i] 并尝试将该值作为字符串插入,而不是 $arr[$i][0] .

一个简单的例子演示了这种行为:

$array = array( array( 'value'));
echo "$array[0][0]"; // Fails, Array to string conversion
echo "{$array[0][0]}"; // Prints value

关于php - 用 2 维数组数据填充 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638176/

相关文章:

php - PHP中的多维数组转换为字符串

php - 简单的PHP网页中有趣的输出

php pdo insert,update into one table in mean time insert query to other table

mysql - Laravel 文件上传超时 - 添加 block 到 updateOrCreate?

php - 如果我从 MySQL 中提取数据,是否必须使用 PHP 编写 HTML?

mysql - MySQL Merging Queries的JOIN问题--Overwrite or Merge two rows from the same table

php - 想要在页面加载期间显示 "loading"图像 - Javascript

php - BINARY 数据没有插入到从 BINARY(20) 列提取的 mysql 中?

php - 通过 PHP 解析 JavaScript 文件

php - 尝试将 SQL 结果导入数组 : Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted