2016-02-14 85 views
1

我正在使用最近開始學習的PHP和MySQL創建一個基本的電子商務網站。我有一個特定的問題。無論何時添加兩個同名的產品,都會將重複產品添加到數據庫中。無論如何避免相同,而是增加數量的數字。避免電子商務網站中的產品重複

else{ 
     $product_image = addslashes(file_get_contents($_FILES['fileField']['tmp_name'])); 

     include_once("../scripts/connect.php"); 

     $sql = mysql_query("INSERT IGNORE INTO products(name, brand, category, sizes, description, price, quantity, product_image, date_added) VALUES('$product_name','$product_brand','$product_category','$product_sizes','$product_description','$product_price','$product_quantity','$product_image', now())"); 

     $id = mysql_insert_id(); 

     $msg = "Success!"; 

    } 
+1

添加產品的代碼是什麼? – codisfy

回答

0

加入了獨特的約束

我不知道你的表結構修改表。添加一些邏輯來更新數量。

2

在生產中使用上面的代碼是不推薦,因爲它很容易被sql注入。嘗試使用UNIQUE 約束從數據庫或使用:

alter table products add unique index(name, brand, category, sizes, description, price, quantity, product_image, date_added); 

提示:

  • mysql_ 功能已被取消,已經從PHP 7.使用 mysqli_功能或刪除PDO來代替。
  • 使用預處理語句避免sql注入。
0

請勿使用產品名稱作爲唯一字段。添加一個新的數據庫字段:SKU - 代表「庫存單位」。

這將是誘人的使用數據庫的id字段,因爲您可以將其設置爲自動遞增,但我強烈建議不要這樣做。許多商家已經擁有自己的產品SKU,因此您希望能夠輸入SKU值以及其他產品詳細信息。而商家SKU通常在其中包含字母,因此使db字段varchar成爲可能。

還建議您註冊amazon seller central,並閱讀他們如何做「Parent」和「Child」產品。它起初可能看起來過於複雜,但它會爲你節省很多時間。

相關問題