我有非常简单的错误,但我无法弄清楚它为什么会发生。我有这个数组:
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)
请帮我调试这部分代码,因为我非常坚持使用它。
答案 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)
然后你会看到语法错误在哪里或者到底出了什么问题。 : - )
不要忘记转义值字符串。