首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqli_query()总是返回true

mysqli_query()总是返回true
EN

Stack Overflow用户
提问于 2012-04-17 23:43:51
回答 4查看 16.1K关注 0票数 3

这是我的表格:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <form action="register_ajax.php" method="get">
    <input type="text" name="email">
    <input type="submit" value="test">
    </form>
  </body>
</html>

这是我的php代码:

代码语言:javascript
复制
<?php
    $dbc = mysqli_connect("localhost","root","*******","continental_tourism") OR die(mysqli_connect_error());
    $email = $_GET['email'];
    $query = "SELECT email FROM customer_info WHERE email = '$email' ";
    $r = mysqli_query($dbc, $query) OR die(mysqli_error($dbc));
    if($r)
        echo "Email address exists!";
    else
        echo "sss";
?>

如果我输入了正确的(数据库中现有的电子邮件) $r是真的。但是如果我输入了不存在的电子邮件,那么$r也是真的。为什么会这样呢?基本上,我想检测空集。我该怎么做呢?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-17 23:45:18

只有当存在SQL错误时,$r才会为false。否则,它将始终返回一个对象,即使SELECT语句没有返回任何行。

使用mysqli_num_rows()计算返回的行数。零表示没有人在使用该电子邮件地址。

代码语言:javascript
复制
if(mysqli_num_rows($r))
    echo "Email address exists!";
else
    echo "sss"; 
票数 14
EN

Stack Overflow用户

发布于 2012-04-17 23:47:17

如果查询成功,mysqli_query()将始终返回MySQLi结果资源。当作为布尔值进行测试时,资源的计算结果始终为TRUE

成功的查询不一定是返回结果的查询,它只是一个没有失败的查询。如果出现错误,例如语法错误或MySQL服务器中的处理错误,则认为查询已失败-在这种情况下,查询将返回FALSE。但是一个没有找到结果的查询仍然是一个成功的查询。

您需要使用mysqli_num_rows()来确定查询是否找到任何结果:

代码语言:javascript
复制
<?php
    $dbc = mysqli_connect("localhost","root","longhorn","continental_tourism") OR die(mysqli_connect_error());

    $email = $_GET['email'];

    $query = "SELECT email FROM customer_info WHERE email = '$email' ";

    $r = mysqli_query($dbc, $query) OR die(mysqli_error($dbc));

    if(mysqli_num_rows($r) > 0)
        echo "Email address exists!";
    else
        echo "sss"; 
?>
票数 5
EN

Stack Overflow用户

发布于 2012-04-17 23:48:55

如果成功,mysqli_query将返回一个result对象,如果失败,将返回false。未选择任何行不会被视为失败。您可以使用mysqli_num_rows检查返回的行数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10194442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档