QQ 1640076782

2013年05月23日

Duplicate entry 异常

Filed under: phper — 标签:, , — lijie @ 8:26 上午

外贸建站 在后台编辑产品的时候出现了

外贸建站之duplicate entry异常

外贸建站之duplicate entry异常

这一看就是mysql问题,由于1655-125是唯一索引,不能再往数据库中插入相同数据,于是查看了一下程序
tep_db_query(“delete from ” . TABLE_PRODUCTS_TO_MANUFACTURERS . ” where products_id = ‘”. (int)$products_id . “‘”);
$selected_manufacturers = $_POST['manufacturers_id'];
foreach ($selected_manufacturers as $current_manufacturers_id) {
if(!tep_not_null($current_manufacturers_id)) continue;
tep_db_query(“insert into ” . TABLE_PRODUCTS_TO_MANUFACTURERS . ” (products_id, manufacturers_id) values (‘” . $products_id . “‘, ‘” . $current_manufacturers_id. “‘)”);
}
一看这思路是对的啊,在插入数据之前先删除原先已存在的数据,没问题啊。

可是如果你再仔细的看看,就会发现漏掉了一个重要问题,那就是这个$selected_manufacturers数组中难道就没有重复的值

吗?一打印该数组,果然如此,存在了两个125值。好啦,就然问题已找到,就可以对该问题进行处理啦,只要用array_unique

函数给该数组去重就行了。

$selected_manufacturers = array_unique($_POST['manufacturers_id']);

如果你有外贸企业网站建站需求,欢迎随时联系我们

QQ客服:415682727

电话:020-39907297

MSN:xueposter@gmail.com