當我單擊立即購買按鈕時,我正在檢查記錄(產品ID)是否存在於我的mysql數據庫表中,如果它們沒有創建另一個,並且if他們這樣做,只是更新現有的。在MySQL中檢查記錄並創建(如果不存在)
它創建第一個記錄罰款,它甚至更新時,我再次點擊它沒有另一條記錄,但當我點擊另一個產品時,它創建另一個記錄,它永遠不會更新以下記錄。
換句話說,它只是更新第一個產品ID,併爲其餘的創建新的記錄。
這裏是我的表
function add_to_cart(){
global $connection;
$ip = getIp();
if(isset($_GET['add'])) {
$product_id = $_GET['id'];
$product_price = get_item_price($product_id);
$query = "SELECT * FROM cart WHERE ip_address = '{$ip}' ";
$check_query = query($query);
confirm($check_query);
$row = fetch_array($check_query);
$db_product_id = $row['product_id'];
if(mysqli_num_rows($check_query) === 0 || $product_id != $db_product_id) {
$query = "INSERT INTO cart(product_id,ip_address,quantity,price_sum) VALUES('{$product_id}', '{$ip}' ,1, '{$product_price}')";
$send_query_cart = query($query);
confirm($send_query_cart);
redirect("index.php");
} else {
$query = "UPDATE cart SET quantity = quantity + 1, price_sum = price_sum + '{$product_price}' WHERE product_id = '{$product_id}' ";
$update_records = query($query);
confirm($update_records);
redirect("index.php");
}
}
}
對不起,我做到了,我有我的帽子上,並沒有發現太多.... – ricosuave
,而不是'死(「查詢失敗」 );'do'或死(mysqli_error($ con))'到'mysqli_query()'並查看是否有錯誤。 –
是的,我也這麼做......我沒有得到任何錯誤。 – ricosuave