2014-10-06 229 views
-9

我想提出一个搜索条件在那里我看到,如果$result=mysqli_query($dbconnect,$someQuery);什么mysqli_query返回如果查询是空

if($result==false)if($result==null),但它并没有一个布尔值作为比较值作出响应。尽管如果条件满足,则调用if($result==true)条件。

这是我的查询

$someQuery="select * from books where bookid = '$id'"; 

如果什么条件检查MySQL查询失败或返回任何?

+1

[返回FALSE失败。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。](http://de1.php.net/manual/en/mysqli.query.php) – 2014-10-06 13:23:06

+9

不返回行的查询是* not *错误条件,所以它会*不*返回'false'。 'num_rows'请求将显示零。这就是你如何判断这是一个空洞的结果。解释@GeraldSchneider,RTFM。 – 2014-10-06 13:23:53

+0

这实际上是寻找@NiettheDarkAbsol的答案。然后使用'empty()'函数。 – Gokigooooks 2014-10-06 13:32:17

回答

-2

请搜索它在谷歌,这会帮助你http://php.net/manual/en/mysqli.query.php 顺便说一下,如果语句失败mysqli_query返回FALSE或mysqli_result对象可以用于关联数组或其他的东西

参考:http://php.net/manual/en/mysqli.query.php为之前写过

+4

一般来说,请避免“使用Google for you”类型的答案。如果它很容易找到,那么问题应该关闭,而不是回答。 – 2014-10-06 13:25:19

+0

好吧,对不起,你是对的:) – CapitanFindus 2014-10-06 13:26:52

+0

我不知道这是如何被拒绝。我阅读手册,但它没有提及mysqli_query本身的返回值类型。 – Gokigooooks 2014-10-06 13:28:27

2

mysql_query()如果有任何查询错误,则返回false。对于成功的查询,它不会返回false ..返回值将为true,如果该行不为空,则返回mysqli_result()对象。

请看看here。它可能会帮助更多的.. :)

-1

像@Avinash巴布SAIT的mysql_query八方通返回false,如果有什么问题与查询....我建议你尝试检查如果查询成功或不是这样:

if(!result){ 
echo 'Mayday We have a problem'; 
} 
+0

OP是*已经在做这个*(技术上 - 由于== == false)。这不是对这个问题的回答。 – 2014-10-06 13:31:46