欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用户数据的重复,小弟我这个对于$result是不是理解错了

程序员文章站 2024-01-29 08:37:34
...
用户数据的重复,我这个对于$result是不是理解错了?
$sql1="select * from user where mencode='$mencode'";
$result1=mysql_query($sql1,$con);
if(count($result1)>0){
echo "有重复号码";
echo "
";
echo count(null);
echo "
";
echo count($result1); //这里等于1??
}
else{
//注册 插入数据库的语句
}

这个$reuslt1 返回的应该是空集啊 为什么输出 count($reslut1)的值为1

是这种处理方法有问题吗? 应该如何解决呢? 麻烦解答下,谢谢

------解决方案--------------------
if( mysql_num_rows($result1) > 1) {

注意:
$result1 是变量,只要他不是数组,那么 count($result1) 的结果都是 1
$result1 = mysql_query($sql1,$con); 后, $result1 是资源。通俗一点就是结果集的指针

------解决方案--------------------
可以直接if($result1) {
------解决方案--------------------
php手册中::mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。

也就是说:它只能说明你的sql语句是否执行成功,要是基于这一点,楼上的方法就可以,如果是其他insert或者update语句,就不行了,“很有可能一条查询执行成功了但并未影响到或并未返回任何行。”
用户数据的重复,小弟我这个对于$result是不是理解错了

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频