PHP如何判断输入数据库的字段值不能重复

表单里填写的值不能与表中的值相同,如果相同则不执行INSERT语句... 表单里填写的值不能与表中的值相同,如果相同则不执行INSERT语句 展开
 我来答
百度网友8bcff2eea8
推荐于2016-10-28 · 超过23用户采纳过TA的回答
知道答主
回答量:40
采纳率:100%
帮助的人:44.8万
展开全部
  1. 将关于mysql函数 全部改成mssql前缀

    $sqlwhere = "select * from $dbzh where ……";//具体哪些字段重复,在where后面加上条件即可
    $result = mssql_query($sqlwhere);
    $num = mssql_num_rows($result); 
    if ($num  == 0){
        //新增操作
    }

  2. 只要查询它的ID是否存在,如果存在的话,就重复了,如果不存在的话,就说明没重复

  3. mssql_get_last_message 函数是做什么用的

百度网友a19d193
推荐于2018-03-04 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1436万
展开全部
楼上几位说的都差不多了,我总结补充一下哈。

1.如果一个表的某个字段(或几个字段的组合)禁止重复数据,请将其定义为唯一键,从根本上保证数据的唯一性。
2.插入之前使用select语句查询一下,唯一键也是一种索引,所以查询速度很快,消耗几乎可以忽略。
3.为什么不推荐直接insert数据:insert失败可能是多种原因引起的,你不能因为插入失败就告诉前端页面xxx不允许重复,这是很糟糕的用户体验。

补充,请注意insert之前的唯一性检查和update之前的唯一性检查不同,update之前的检查请记得要排除当前行,例如select count(*) from user where id <> current_user_id and email = 'newEmail'
追问
非常感谢你的回答
我现在的情况是一个表单提交时除了一个主表需添加数据,另还有两个子表也需同时加数据,现在就是判断主表的一个字段不能有重复值,数据库里已设定了唯一健,主要是页面程序的编写,如果主表里这个字段有重复值不能填写,那同时两个子表的值也不执行添加
追答
无所谓啊。以下是伪码
$count = $db->query('select count(*) from table where value = 'value');
if (empty($count)) {
insert into main table,

insert into other tables....

} else {
}
不就好了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swopcq
2015-11-04 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:76
采纳率:100%
帮助的人:66.8万
展开全部
最简单的就是把数据库中这个字段值设置为UNIQUE属性,输入的时候如果重复就会直接返回错误。
麻烦点的就是先把输入的值作为条件来查询,如果返回有值就是有重复,没有返回值就是没有重复,再输入就好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhniaold
2013-04-17 · TA获得超过292个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:223万
展开全部
你在设计数据表结构时,要把不能重复的字段设成UNIQUE,从根源上杜绝重复的可能性;
程序这一块,可以事先SELECT判断一下,或者在执行INSERT后判断一下均可,因为某字段是UNIQUE的,如果字段值有重复是无法写入数据库的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoliluote
2013-04-17 · TA获得超过361个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:66.5万
展开全部
这个文件很简单,比如是user表,字段有:id 主键,自动增长,username用户名,password密码
那么你注册用户不允许存在两个相同的用户名的话,在插入数据之前,先进行查找。比如你获得了用户名$username="admin",那么先查找select count(username) from user where username = "admin",如果查找的结果大于0,则说明这个用户已经存在了,那么就不插入啊,很简单的道理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式