十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你在插入之前要先对数据进行一次过滤也就是逻辑上得唯一判断后再作入库处理,否则提示已存在不插入即可。
创新互联是一家专注网站建设、网络营销策划、小程序制作、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10多年以来,已经为超过千家成都服务器托管各业的企业公司提供互联网服务。现在,服务的超过千家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
(1)利用php提供的函数,array_unique和array_diff_assoc来实现
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
// 获取去掉重复数据的数组
$unique_arr = array_unique ( $array );
// 获取重复数据的数组
$repeat_arr = array_diff_assoc ( $array, $unique_arr );
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
(2)自己写函数实现这个功能,利用两次for循环
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
$len = count ( $array );
for($i = 0; $i $len; $i ++) {
for($j = $i + 1; $j $len; $j ++) {
if ($array [$i] == $array [$j]) {
$repeat_arr [] = $array [$i];
break;
}
}
}
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
这是url传递参数的代码:
XML/HTML code?
td align="left"a href="choose.php?relation_id='.$row['user_id'].'user_id='.$_COOKIE['user_id'].'"一键关注/a/td
;
这是插入数据库的代码:
PHP code?
?php
header("Content-Type:text/html; charset=utf-8");
include('MY_PHP_file/mysql_connect.php');
$user_id = $_GET['user_id'];
$relation_id = $_GET['relation_id'];
$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ('$user_id', '$relation_id', now())";
$state = mysql_query($sql);
if($state)
{
echo "scriptalert('一键关注成功!!'); location.href='user_action.php';/script";
}
else
echo 'scriptalert("一键关注失败,请重试!!"); location.href="user_action.php";/script';
?
$state = mysql_query($sql);
if($state)
按我的理解这里执行了两次。
解决方法直接是 if(mysql_query($sql))就可以了