【问题标题】:Populate MySql Tables from Multidimensional PHP array从多维 PHP 数组填充 MySql 表
【发布时间】:2014-11-11 19:20:46
【问题描述】:

所以我有一个多维数组$fillarray,它的长度超过 1000 行,所以$fillarray[0] - $fillarray[1000],每个元素有 22 个部分。我不关心任何分支地图上的 [0][0]。

有几篇关于从 MySQL 表中提取并填充数组的帖子,我正在尝试另一种方式。

我已经尝试了几种方法。任何帮助将不胜感激。

for($i = 1; $i <= $cnt; ++$i) {
    if($i != 1)
        $values .= ',(NULL,';
    else
        $values = '(NULL,';
    for($t = 1; $t <= 21; ++$t){
        if($t != 21)
            $value .= "'".$fillarray[$i][$t]."',";
        else
            $values .= "'".$fillarray[$i][$t]."')";
        //echo $fillarray[$i][$t]."<br>";
    if($i != $start)
        $values .= ",";
    }
    mysql_query("insert into `data` VALUES(NULL, '$fillarray[$i][1]' , '$fillarray[$i][2]', '$fillarray[$i][3]', '$fillarray[$i][4]', '$fillarray[$i][5]','$fillarray[$i][6]','$fillarray[$i][7]','$fillarray[$i][8]','$fillarray[$i][9]','$fillarray[$i][10]','$fillarray[$i][11]','$fillarray[$i][12]','$fillarray[$i][13]','$fillarray[$i][14]','$fillarray[$i][15]','$fillarray[$i][16]','$fillarray[$i][17]','$fillarray[$i][18]','$fillarray[$i][19]','$fillarray[$i][20]','$fillarray[$i][21]')") or die(mysql_error());

}

【问题讨论】:

  • 你的问题是什么?我们应该猜?您是否回显了结果查询?你检查过错误吗?或者..你做了什么?
  • 问题是它没有将数组数据插入到表中。没有错误,当我回显它只是具有的值时(NULL,,,,,,,,,,,,,,,,,,,,,),并重复。很抱歉之前没有包括在内。

标签: php mysql arrays multidimensional-array


【解决方案1】:

尝试对多维数组使用 foreach 循环...

foreach($value as $values){

 echo $values;
}

foreach($values as $key=>$values){

echo $key=>$values;


} 

【讨论】:

    【解决方案2】:

    无法对其进行测试,但这样的东西会起作用吗?

    foreach ($fillarray as $row) {
        $query = "INSERT INTO `data` VALUES (" . implode(',', array_map('mysql_real_escape_string', array_unshift($row, NULL))) . ")";
    }
    

    另外,inb4 "Don't use mysql_*, use PDO/mysqli"!

    【讨论】:

    • 至于将连接字符串从 MySQL 更改为 MySQLi 或 PDO,这不是问题,您将如何编写查询以将数据输入到每一行。
    • 所以我在 MySQL_query($query);并将所有 NULLS 放入表中,然后我添加了一个 echo $query,它正在插入 INSERT INTO dataVALUES ()。我可以使用 PDO 或 Mysqli,语法是否相同?感谢您的帮助,我认为它更接近我的需要。
    • 我不确定您的数据是如何构造的,但看起来您的数组可能没有设置为完全使用该函数。您可能必须调整数组或函数。如果可以var_dump数组中的几个元素,我可以看看是否需要调整。就 PDO 或 mysqli 而言,查询的语法是相同的,但它们需要不同的准备。查看教程:code.tutsplus.com/tutorials/…
    猜你喜欢
    • 2012-11-13
    • 2012-09-10
    • 2013-06-25
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2017-01-25
    • 2014-09-02
    相关资源
    最近更新 更多