由php foreach生成的SQL语法错误

由php foreach生成的SQL语法错误,php,mysql,Php,Mysql,我不知道为什么第二轮foreach会给我这个错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第2行“8,1”附近使用的正确语法” 这里只有一个终端应该给出 您已经插入了两个终端 $queryinsert="INSERT INTO `dettaglio` (`iddettaglio`, `idordine`, `idprodotto`, `quantita`) VALUES (NULL, ".$idordine.",".$value['id'].",".

我不知道为什么第二轮foreach会给我这个错误:

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第2行“8,1”附近使用的正确语法”

这里只有一个终端应该给出 您已经插入了两个终端

 $queryinsert="INSERT INTO `dettaglio` (`iddettaglio`, `idordine`, `idprodotto`, `quantita`)
    VALUES (NULL, ".$idordine.",".$value['id'].",".$value['qta'].")";

错误在$row中,在第二个查询中,$row不接受值。。。 谢谢大家

$row  = mysqli_fetch_array($result);
$idordine=$row['idordine'];
foreach($array as $value){
$queryinsert="INSERT INTO `dettaglio` (`iddettaglio`,`idordine`,`idprodotto`,`quantita`)VALUES (NULL,".$idordine.",".$value['id'].",".$value['qta'].")";
mysqli_query($con,$queryinsert)or die(mysqli_error($con));};

$row['idordine']
可能是空的?或者是一个字符串……您完全可以进行SQL注入。由于您使用的是mysqli,请利用和。你不必担心任何令人讨厌的引用问题。你真的需要看看正在执行的完整语句。(
$queryinsert
变量的内容)MySQL语法错误通常希望与原始查询进行比较。如果您仍然无法理解,请在将完整查询发送到MySQL执行时将其粘贴到此处,这样我们可能更容易破译错误将以文本字符串形式发送到MySQL。另一个是PHP代码。当然,如果多查询没有设置MySQL
将失败,但鉴于来自MySQL的错误消息,这一点并不明显。是的,但如果有一个终止点,它也将运行。给出该错误是因为他使用了所有逗号是完全有效的PHP否?只有一个终结者没有?
 $queryinsert="INSERT INTO `dettaglio` (`iddettaglio`, `idordine`, `idprodotto`, `quantita`)
    VALUES (NULL, ".$idordine.",".$value['id'].",".$value['qta'].")";
$row  = mysqli_fetch_array($result);
$idordine=$row['idordine'];
foreach($array as $value){
$queryinsert="INSERT INTO `dettaglio` (`iddettaglio`,`idordine`,`idprodotto`,`quantita`)VALUES (NULL,".$idordine.",".$value['id'].",".$value['qta'].")";
mysqli_query($con,$queryinsert)or die(mysqli_error($con));};