mysqli_query() 总是返回真

mysqli_query() always return true(mysqli_query() 总是返回真)
本文介绍了mysqli_query() 总是返回真的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

这是我的表格:

<!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代码:

<?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";
?>

如果我输入正确的(db 上的现有电子邮件)$r 为真.但是如果我输入不存在的电子邮件,那么 $r 也是如此.这是为什么?基本上我想检测空集.我该怎么做?

If I enter a correct(Existing email on db) $r is true. But if I enter non existing email, then also $r is true. Why is that? Basically I want to detect the empty set. How can I do it?

谢谢!

推荐答案

$r 只有在出现 SQL 错误时才会为假.否则它将始终返回一个对象,即使您的 SELECT 语句没有返回任何行.

$r will only be false if there was SQL error. Otherwise it will always return an object, even if no rows are returned by your SELECT statement.

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

Use mysqli_num_rows() to count how many rows are returned. Zero means no one is using that email address.

if(mysqli_num_rows($r))
    echo "Email address exists!";
else
    echo "sss"; 

这篇关于mysqli_query() 总是返回真的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Warning: mysqli_query() expects at least 2 parameters, 1 given. What?(警告:mysqli_query() 需要至少 2 个参数,1 个给定.什么?)
INSERT query produces quot;Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean givenquot;(INSERT 查询产生“警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,给出布尔值;)
prepared statements - are they necessary(准备好的陈述 - 它们是否必要)
Do I need to escape my variables if I use MySQLi prepared statements?(如果我使用 MySQLi 准备好的语句,是否需要转义我的变量?)
Properly Escaping with MySQLI | query over prepared statements(使用 MySQLI 正确转义 |查询准备好的语句)
Is it possible to use mysqli_fetch_object with a prepared statement(是否可以将 mysqli_fetch_object 与准备好的语句一起使用)