1.)你可以在while循環中嵌套一個msqli_query嗎?在WHILE循環中的mysqli查詢
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')");
};
感謝您的任何幫助。
** P.S. - 此代碼旨在將某些值從TEMPORARY表/會話變量移至永久記錄表,但由於購物車中有多個產品與用戶/會話相關聯,因此需要循環。
是的,你可以做一個循環,但你不需要。你的'INSERT'只使用'$ build'中的值,所以你可以做'INSERT INTO precords SELECT col1,col2,col3 ... FROM Cart WHERE Buyer_ID = ...' –
有很多原因可能會失敗,其中最重要的事實就是您不會在'$ build'中轉義值,即使它們來自數據庫,它也是不安全的。你可能有語法錯誤。您應該檢查'mysqli_error()'來查看出了什麼問題,並最終考慮切換到MySQLi中的預準備語句。 –