【问题标题】:Trouble inserting array elements into database table无法将数组元素插入数据库表
【发布时间】:2016-02-23 09:12:33
【问题描述】:

我有一个非常简单的错误,但我就是不知道为什么会发生。我有这个数组:

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) 请帮我调试这部分代码,因为我很坚持。

【问题讨论】:

  • foreach($sheetData as $rec){更改为foreach($sheetData as $key => $rec) {
  • 你应该使用准备好的语句..

标签: php mysql arrays


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您应该使用$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!';
                    }
    
    }
    

    希望对你有帮助:)

    【讨论】:

      【解决方案3】:

      当您遇到此类问题时,对未来的一点提示:var_dump($my_query)

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

      不要忘记转义值字符串。

      【讨论】:

        猜你喜欢
        • 2011-12-24
        • 1970-01-01
        • 1970-01-01
        • 2017-12-03
        • 2014-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-14
        相关资源
        最近更新 更多