无法将数组元素插入数据库表

时间:2016-02-23 09:12:34

标签: php mysql arrays

我有非常简单的错误,但我无法弄清楚它为什么会发生。我有这个数组:

Array
(
    [1] => Array
        (
            [A] => Joakim
            [B] => Dzafic
            [C] => joke@gmail.com
        )

    [2] => Array
        (
            [A] => Jevren
            [B] => Jevrej
            [C] => zidovi@gmail.com
        )

)

我正在尝试将其插入我的MySQL数据库表中,如下所示:

 foreach($sheetData as $rec){
    $result=$mysqli->query("INSERT INTO `test`(`name`,`surname`,`email`) VALUES
                (
                ".$rec['A'].",
                ".$rec['B'].",
                ".$rec['C']."
                );");
                if(!$result){
                    var_dump($result);
                    die("Something's wrong with query!");
                }else{
                    echo 'Inserted!';
                }

            }

但它说:Something's wrong with query!当我var_dump($result);时,它会说:bool(false) 请帮我调试这部分代码,因为我非常坚持使用它。

3 个答案:

答案 0 :(得分:1)

您忘记添加单引号'值变量如果包含字符串,则应由'括起来:

$result=$mysqli->query("INSERT INTO `test`(`name`,`surname`,`email`) VALUES
                (
                '".$rec['A']."',
                '".$rec['B']."',
                '".$rec['C']."'
                )");

答案 1 :(得分:0)

您应该使用$mysqli->error来检查查询错误。

编写如下代码: -

foreach($sheetData as $rec){
    $result=$mysqli->query("INSERT INTO `test`(`name`,`surname`,`email`) VALUES
                (
                '{$rec['A']}',
                '{$rec['B']}',
                '{$rec['C']}',
                )");  // typo error here
                if(!$result){
                    printf("Errormessage: %s\n", $mysqli->error); // check error
                    var_dump($result);
                    die("Something's wrong with query!");
                }else{
                    echo 'Inserted!';
                }

}

希望它会对你有所帮助:)。

答案 2 :(得分:0)

当你遇到这样的问题时,对未来有一点暗示:var_dump($ my_query)

然后你会看到语法错误在哪里或者到底出了什么问题。 : - )

不要忘记转义值字符串。