Php 将数组元素插入数据库表时出错
我有一个非常简单的错误,但我不明白为什么会发生。我有一个数组:Php 将数组元素插入数据库表时出错,php,mysql,arrays,Php,Mysql,Arrays,我有一个非常简单的错误,但我不明白为什么会发生。我有一个数组: Array ( [1] => Array ( [A] => Joakim [B] => Dzafic [C] => joke@gmail.com ) [2] => Array ( [A] => Jevren [B]
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!';
}
}
但是它说:查询有问题代码>以及当我执行var\u dump($result)时代码>上面写着:bool(false)
请帮助我调试这部分代码,因为我一直都在使用它。您忘记添加单引号“
值变量应该用括起来,如果它包含字符串:
$result=$mysqli->query("INSERT INTO `test`(`name`,`surname`,`email`) VALUES
(
'".$rec['A']."',
'".$rec['B']."',
'".$rec['C']."'
)");
您应该使用$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!';
}
}
希望它能帮助你:)当你遇到这样的问题时,给你一点提示:var\u dump($my\u query)
然后您可以看到语法错误在哪里,或者哪里出了问题。:-)
不要忘记转义值字符串。将foreach($rec为sheetData){
更改为foreach($key为sheetData=>$rec){
您应该使用准备好的语句。。