我有以下代碼將用戶的訂單添加到數據庫。訂單以數組($ row)存儲,然後在while循環中將其設置爲單個變量,然後將其設置爲查詢。沒有顯示錯誤消息,但記錄未添加到MySQL數據庫。我認爲這個問題是大膽的。我已經看過其他幾個幫助主題,並嘗試過他們,但他們不會爲此工作。MySQLi查詢while循環不添加到數據庫
我對PHP相當陌生,所以請儘量在可能的情況下用簡單的英語保留答案。 謝謝,如果有人可以給我一個這個手。
<?php
session_start();
?>
<?php
//db connect
require('connect_db.php');
//define variables
$id=$_SESSION['user_id'];
$fn=$_SESSION['first_name'];
$ln=$_SESSION['last_name'];
$bank=$_POST['bank'];
$ano=$_POST['account'];
$sort=$_POST['sort_code'];
//get order details
**$qa="SELECT total, product, quantity, FROM orders WHERE user_id='$id'";
$ra=mysqli_query($dbc, $qa);
while($row=mysqli_fetch_array($r, MYSQLI_ASSOC))
{
//insert to table
$product=$row['product'];
$quantity=$row['quantity'];
$total=$row['total'];
$qb="INSERT INTO order_contents(user_id, first_name, last_name, product, quantity, price, bank, account_no, sort_code) VALUES '$id', '$fn', '$ln', '$product', '$quantity', '$total', SHA1('$bank'), SHA1('$ano'), SHA1('$sort'))";
mysqli_query($dbc, $qb) or die(mysqli_error($dbc));
}**
//clear db
mysqli_query($dbc, "DELETE FROM orders WHERE user_id='$user_id'");
//mysql close
mysqli_close($dbc);
//redirect to thank you page
header("Location:http://emsworthsailspares.net23.net/thanks.php");
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
</body>
</html>
您不需要打開/關閉php標籤兩次。只需在PHP的開頭執行<?php並在末尾執行 – dudemanbearpig
您有一個錯字。 $ row = mysqli_fetch_array($ r,MYSQLI_ASSOC))應該是$ row = mysqli_fetch_array($ ra,MYSQLI_ASSOC)) – Dave
感謝您的支持。已經做出了修改,並將在未來有用,但它尚未解決問題 – user3123891