检查SQL查询是否返回值

时间:2016-06-05 21:18:46

标签: php

我正在尝试在SQL查询返回值(行)时显示消息。但这不起作用。我正在使用:if ($res->num_rows > 0) {但这部分代码并不是我想要的。如果我的查询返回值,我该如何echo 'Yes';

这是我的完整代码:

<?php

 $user_name = "root";
 $password = "";
 $database = "db";
 $server = "localhost";

 $db_handle = mysqli_connect($server, $user_name, $password);
 $db_found = mysqli_select_db($db_handle, $database);

 if ($db_found) {
     $result = mysqli_query($db_handle, "SELECT date FROM table WHERE id='1' AND date BETWEEN now() AND now() + INTERVAL 14 DAY");
     $num_rows = mysqli_num_rows($result);

     if (mysqli_num_rows($result)) {
         echo 'Yes';
     }
     else
     {
         echo 'No';
     }
 }
 else
 {
     print "Database NOT Found.";
     mysqli_close($db_handle);
 }

?>

3 个答案:

答案 0 :(得分:0)

您必须使用if(mysql_num_rows($result))

(但实际上你应该使用mysqli或PDO)

答案 1 :(得分:0)

::$num_rowsmysqli界面的一部分,但您使用的是旧的(已弃用的)mysql界面。

如果您坚持使用mysql,请使用mysql_num_rows()

if(mysql_num_rows($res))

答案 2 :(得分:0)

你的$ res中有一个数组,它不是一个对象: http://php.net/manual/en/function.mysql-fetch-row.php

使用mysql_num_rows代替

if (mysql_num_rows($result) > 0) {
   echo 'Yes';
}                         
else
{
   echo 'No';
}