0

我有如下查询:

$sql = "SELECT * FROM member_details WHERE blood_group = 'O+'";

如果我将在 phpmyadmin 中执行此查询,那么我将得到零行。但是当我回显数组时,我会变得像下面这样。

$n = new data();

$res = $n -> querySend($sql);

$abc = mysql_fetch_array($res); 

//if i do like this
   echo $res;  // output getting as Resource id#6

//if i do like this then
   echo count($abc); // output getting as 1

//if i do like this then
   print_r($abc); die; // output getting as blank

我想检查是否$abc为空。但由于上述输出,我无法检查它。谁能告诉我这个有什么问题。提前致谢。

4

3 回答 3

0

你可以检查使用

 if(empty($abc))
于 2013-10-30T10:37:56.497 回答
0

您可以检查is_array(),例如:

if( is_array($abc) ) {
   echo "It is array";
}

而且,顺便说一句,你应该这样做

if( mysql_num_rows($res) > 0 ) {
    $abc = mysql_fetch_array($res);    
}
于 2013-10-30T10:39:30.097 回答
0

我建议从 mysql_* 切换到 mysqli_* 或 PDO,Mysql_* 已被弃用,并且不会在未来的 php 版本中工作。

在这种情况下,您可以做的是在获取数组之前检查结果的 num_rows:http:
//us1.php.net/mysql_num_rows(我知道,mysql_* 函数,但页面上有警告!)。

于 2013-10-30T10:40:50.393 回答