簡體   English   中英

WHILE 循環中的 mysqli 查詢

[英]mysqli query in WHILE loop

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')");
};

謝謝你的幫助。

** PS - 此代碼旨在將某些值從 TEMPORARY 表/會話變量移動到永久記錄表,但需要循環,因為購物車中與用戶/會話關聯的產品不止一種。

是的,你可以循環使用它

您可能想添加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());
};

當您想從數據庫中獲取數據以顯示在 html 列表中時,以一種簡化的形式我故意添加了mysqli ORDER BY ,它只有兩個順序ASC[ascending]DESC[descending] ,我還使用了mysqli LIMIT ,我將其設置為3含義從數據庫中提取的結果數量應該只有三行

我同意 ali alomoulim https://stackoverflow.com/users/2572853/ali-almoullim的回答

我的循環簡化代碼,而 MYSQLI ORDER BY 和 LIMIT

$usersQuery = "SELECT * FROM account ORDER BY acc_id DESC LIMIT 3";
$usersResult=mysqli_query($connect,$usersQuery);
while($rowUser = mysqli_fetch_array($usersResult)){ 
echo $rowUser["acc_fullname"]; 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM