MySQL返回一个空的结果,仍然显示为1

时间:2016-10-19 09:14:53

标签: php mysql echo

我有一个查询,它是检查来自两个不同表的数据,但一切正常。当我在cPanel中粘贴查询时,结果显示如下 MySQL returned an empty result set (i.e. zero rows). (Query took 0.0005 sec)

但是当我在php中计算查询时,它正在退回1而不是0不知道为什么 这是我的Sql查询

  SELECT mobile, emailid
FROM tbl_users
WHERE mobile =9653878051
AND emailid = 'rawat@gmail.com'
GROUP BY mobile
UNION ALL SELECT mobile, email
FROM tbl_addusr
WHERE mobile =9653878051
AND email = 'rawat@gmail
.com'
LIMIT 0 , 30

我正在计算它,我将sql结果存储在数据变量

     $result = mysql_num_rows($data);

  echo count($result)>0?1:0;  

,结果是1而不是0

4 个答案:

答案 0 :(得分:1)

你不需要计算任何东西。 <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script type="text/javascript"> $(function() { $('#calendar').datepicker({ inline: true, showOtherMonths: true, firstDay: 1, dayNamesMin: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], }); }); </script> <div id="calendar"></div>为您提供行数。

像这样使用:

mysql_num_rows

答案 1 :(得分:0)

mysql_num_rows - 获取结果不是数组

中的行数

<强>描述

int mysql_num_rows(resource $ result) 从结果集中检索行数。此命令仅对返回实际结果集的SELECT或SHOW等语句有效。要检索受INSERT,UPDATE,REPLACE或DELETE查询影响的行数,请使用mysql_affected_rows()。

<强>参数

结果 正在评估的结果资源。这个结果来自对mysql_query()的调用。

返回值

成功时结果集中的行数,或者失败时为FALSE。

    <?php

    $link = mysql_connect("localhost", "mysql_user", "mysql_password");
    mysql_select_db("database", $link);

    $result = mysql_query("  SELECT mobile, emailid
FROM tbl_users
WHERE mobile =9653878051
AND emailid = 'rawat@gmail.com'
GROUP BY mobile
UNION ALL SELECT mobile, email
FROM tbl_addusr
WHERE mobile =9653878051
AND email = 'rawat@gmail
.com'
LIMIT 0 , 30", $link);
    $num_rows = mysql_num_rows($result);

    echo "$num_rows Rows\n";
    echo $num_rows>0?1:0;//compare like this

    ?>

检查文档http://php.net/manual/en/function.mysql-num-rows.phphttp://php.net/manual/en/function.count.php

答案 2 :(得分:0)

1:停止使用mysql_ *函数。请改用mysqli或PDO。

2:使用SQL Count:http://www.w3schools.com/sql/sql_func_count.asp

哦,是的,就像建议一样:不要使用像$ aaaaaa这样的变量名...这样的名字只是对变量是什么一无所知,当你在几个月内重新打开项目时,你赢了#39了解你所做的一切。

答案 3 :(得分:0)

您正在使用PHP的count()功能,该功能来自手册:

  

返回array_or_countable中的元素数。如果参数不是数组或不是具有已实现Countable接口的对象,则将返回1。有一个例外,如果array_or_countable为NULL,则返回0。

因此,根据您的情况,它将返回1.只需删除 count()函数,并在您的三元运算符中比较$result本身的值。