我是PHP的新手,我正在尝试将嵌套数组中的数据插入到数据库中。我注意到只有最后一个键:值被放入(似乎几乎所有其他内容都被覆盖)。如何获得每个数据的新行,以便将所有内容都放入?
$tmpArray = array(array("one" => abc, "two" => def), array("one" => ghi, "two" => jkl));
// Scan through outer loop
foreach ($tmpArray as $innerArray) {
// Scan through inner loop
foreach ($innerArray as $key => $value) {
if ($key === 'one') {
$sql = "INSERT INTO test2 (alpha, beta) VALUES ('$key', '$value')";
}
}
}
对于简单,我所要做的就是将“one”和“abc”放入alpha和beta。然后让表的另一行输入“one”和“ghi”。但是当我运行代码时,我得到的只是“一个”和“ghi”。当我发出一个echo语句时,所有正确的东西都被打印出来了。只是不明白为什么他们没有输入我的表格。
我做错了什么?谢谢!
答案 0 :(得分:2)
$sql = "INSERT INTO test2 (alpha, beta) VALUES ('$key', '$value')";
每次调用变量$sql
时,该行都会覆盖变量$sql = '';
// Scan through outer loop
foreach ($tmpArray as $innerArray) {
// Scan through inner loop
foreach ($innerArray as $key => $value) {
if ($key === 'one') {
$sql .= "INSERT INTO test2 (alpha, beta) VALUES ('$key', '$value'); ";
}
}
}
的内容。您需要将字符串连接在一起:
.dropdown:hover .dropdown-content {
display: block;
background: blue;
}
更好的是,正如评论中所建议的那样,只是直接执行查询而不是将其存储在变量中。然后,您不必将字符串连接在一起,也不必在单个MSQLI调用中启用多个语句。