问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-06 01:55

我来回答

9个回答

热心网友 时间:2022-04-06 03:24

将关于mysql函数 全部改成mssql前缀

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

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

mssql_get_last_message 函数是做什么用的

热心网友 时间:2022-04-06 04:42

楼上几位说的都差不多了,我总结补充一下哈。

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 {
}
不就好了

热心网友 时间:2022-04-06 06:17

最简单的就是把数据库中这个字段值设置为UNIQUE属性,输入的时候如果重复就会直接返回错误。
麻烦点的就是先把输入的值作为条件来查询,如果返回有值就是有重复,没有返回值就是没有重复,再输入就好。

热心网友 时间:2022-04-06 08:08

你在设计数据表结构时,要把不能重复的字段设成UNIQUE,从根源上杜绝重复的可能性;
程序这一块,可以事先SELECT判断一下,或者在执行INSERT后判断一下均可,因为某字段是UNIQUE的,如果字段值有重复是无法写入数据库的

热心网友 时间:2022-04-06 10:16

这个文件很简单,比如是user表,字段有:id 主键,自动增长,username用户名,password密码
那么你注册用户不允许存在两个相同的用户名的话,在插入数据之前,先进行查找。比如你获得了用户名$username="admin",那么先查找select count(username) from user where username = "admin",如果查找的结果大于0,则说明这个用户已经存在了,那么就不插入啊,很简单的道理

热心网友 时间:2022-04-06 12:41

最好的方法是在数据库对该字段添加唯一约束,然后在插入的时候判断,
是否触发唯一约束,触发就告知已有相同数据,否则插入成功,
这样无论是性能还是处理逻辑都是最好的。
当然按楼上的也能达到效果,但不是最佳方案,最少浪费一次数据库链接。

热心网友 时间:2022-04-06 15:22

php发送 1
首先进行查询 where name= 1
如果存在 返回false 如果不存在返回true
如果是false 说明存在,就可以echo 已经存在
如果是true 就保存

热心网友 时间:2022-04-06 18:20

我想数据库那边字段设置成唯一比较直接吧,要不就得一个个比较了

热心网友 时间:2022-04-06 21:35

执行添加时先查看数据库里有没有这个值若没有再添加啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
显卡降价矿难了!分享几个检测矿卡的实用软件 怎么分辨二手显卡刷bios 下文教你 怎么识别矿卡 鉴别矿卡的方法介绍 怎么设置小度在家回家视频通话? 贵阳砂岩雕塑厂有哪些 西安市长安二中附近有老年公寓没 来西安这么久了第一次租到性价比高的房子,松鼠公寓良心推荐_西安... 陕西省自强中等专业学校2024年学费多少 宝鸡市区有什么比较好的楼盘 乔安如何远程监控 php中,怎样拒绝重复的数据写入数据库,比如uid的值? php 数组 不重复的记录 求一个PHP的不重复随机数写入数据库例子.内详 PHP如何判断是否重复插入记录? php 如何实现把两个数组 中含有 不相同的值插入到数据库中 php 不允许重复值插入 求一条PHP中SQL插入不重复数据的语句 php批量导入数据如何去重复 php 向数据库中插入不重复的数据 PHP插入不重复记录的问题 PHP7.0打开扩展功能要怎样才能和mysql相连? php 未安装mysql是不是无法开启mysql扩展 php源码安装mysql模块,高分悬赏,问题解决有加分 PHP为何无法启动mysql服务? php没有找到mysql拓展怎么都解决不了 [配置] linux下自带PHP不支持mysql,怎么办? php无法找到指定的模块,php_mysql.dll,c:&#92;php究竟是在哪里指定的?如何修改该指定地址? windows2003下PHP不能加载mysql模块 phpinfo 中没有 mysql PHP无法加载MySQL thinkPHP在往MySQL添加数据时,如何确保其中一个字段,随机添加一个与表中内容不相同的15位数据 PHP怎么用PDO同时插入多条数据? PHP 怎么防止GET方式提交重复数据? php 网页之间动态传递参数? php在输出语句中怎样向另一个页面传值。 php怎么利用SESSION在两个不同窗口间传递数据? php中的变量是怎么在各个页面间传递的? php中表单定义了checkbox数组,在两个页面间可以做到,如何在多个页面间传值 php之间怎么传值 PHP如何使用session在同一浏览器的两个页面传值 PHP中如何将一个页面中一变量传递到另一个页面中? PHP传值问题! 例:A、B为两个页面,我在A中获取一个ID值,传送给B,那么AB中代码怎么写! php两个页面参数传递问题 两个.php网页之间有没有办法传值?(在线等,有补充,有加分) 关于php如何传递数据 php session 不同页面传递数据 php 传值 点击不同链接进入不同页面? PHP页面间的传值问题,复选框及表单等 php列出一个类文件所有方法名称 PHP如何打印一个类的所有静态属性