我正在使用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!";
}
答案 0 :(得分:2)
在生产中使用上述代码不推荐,因为它容易受到sql注入攻击。尝试使用UNIQUE
来自数据库或使用的约束:
alter table products add unique index(name, brand, category, sizes, description, price, quantity, product_image, date_added);
<强>提示:强>
答案 1 :(得分:0)
通过添加UNIQUE约束来改变表
我不知道你的桌面结构。添加一些逻辑来更新数量。
答案 2 :(得分:0)
不要将产品名称用于唯一字段。添加新的数据库字段:SKU - 它代表'库存单位'。
使用数据库的id字段很诱人,因为你可以将它设置为自动递增,但我强烈建议不要这样做。许多商家已经拥有自己的产品SKU,因此您希望能够输入SKU值以及其他产品详细信息。和商家SKU通常都有字母,所以制作db field varchar。
还建议您注册亚马逊卖家中心,并阅读他们如何做“父母”和“儿童”产品。它起初可能看起来过于复杂,但它会为你节省很多时间。