1.) 可以在 while 循环中嵌套 msqli_query 吗?
2.) 如果是,为什么下面的 PHP 不向 precords 表写入任何数据?
如果我回显 $build 数组变量,它会正确显示,但 mysqli 插入不会向数据库中的表写入任何内容。代码在任何地方都不会出错,那么我错过了什么?
$data = mysqli_query($con,"SELECT * FROM Cart WHERE Buyer_ID='$_SESSION[cid]' AND Cart_Date='$_SESSION[cdate]'");
while($build = mysqli_fetch_array($data))
{
//echo $build[idex]."<br>";
mysqli_query($con,"INSERT INTO precords (precord,Buyer_ID,Account,Purchase_Date,Item_Number,Item_Qty,Item_Title,Item_FPrice,Item_FFLFlag,ccpass) VALUES ('$build[idex]','$build[Buyer_ID]','$build[Cart_Date]','$build[Item_Number]','$build[Item_Qty]','$build[Item_Title]','$build[Item_FPrice]','$build[Item_FFLFlag]','N')");
};
感谢您的帮助。
** - 此代码旨在将某些值从临时表/ session 变量移动到永久记录表,但需要循环,因为购物车中有多个产品与用户/ session 关联。
最佳答案
是的,你可以在循环中使用它
您可能想要添加 mysql_error()
函数来找出问题所在并尝试修复它,或者将错误添加到问题中,以便我们可以告诉您该怎么做
$data = mysqli_query($con,"SELECT * FROM Cart WHERE Buyer_ID='$_SESSION[cid]' AND Cart_Date='$_SESSION[cdate]'");
while($build = mysqli_fetch_array($data))
{
// echo $build[idex]."<br>";
mysqli_query($con,"INSERT INTO precords(precord,Buyer_ID,Account,Purchase_Date,Item_Number,Item_Qty,Item_Title,Item_FPrice,Item_FFLFlag,ccpass)
VALUES ('$build[idex]','$build[Buyer_ID]','$build[Cart_Date]','$build[Item_Number]','$build[Item_Qty]','$build[Item_Title]','$build[Item_FPrice]','$build[Item_FFLFlag]','N')")
or die (mysql_error());
};
关于php - WHILE 循环中的 mysqli 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17457385/