2014-10-29 48 views
0

我的代码如下:如何检查是否查询的数据不包含任何记录

$order = $this->getTableGateway('order'); 

     $select = new Select(); 

     if($txtFromOrderDate!="" && $txtToOrderDate=="") 
     { 
     $select->from('order') 
      ->join('user', 'order.user_id = user.id', array('email')) 
      ->where ("order.created between ".$txtFromOrderDate." and (
         SELECT MAX( `created`) 
         FROM `order` 
         )" 
        ); 
     } 

     else if($txtFromOrderDate=="" && $txtToOrderDate!="") 
     { 
     $select->from('order') 
      ->join('user', 'order.user_id = user.id', array('email')) 
      ->where ("order.created between (
         SELECT MIN( `created`) 
         FROM `order` 
         ) and ".$txtToOrderDate 
        ); 
     } 


     else if($txtFromOrderDate!="" && $txtToOrderDate!="") 
     { 
     $select->from('order') 
      ->join('user', 'order.user_id = user.id', array('email')) 
      ->where ("order.created between ".$txtFromOrderDate." and ".$txtToOrderDate); 
      //->where ('order.created between '.$txtFromOrderDate.' and '.$txtToOrderDate); 
     } 

     else if($txtFromOrderDate=="" && $txtToOrderDate=="") 
     { 
     $select->from('order') 
      ->join('user', 'order.user_id = user.id', array('email')); 

     } 

     $data = $order->selectWith($select)->toArray(); 

我们可以根据不同的情况看,如果在SELECT语句正在发生变化。

最后我通过执行它:

$data = $order->selectWith($select)->toArray(); 

我要检查,如果查询返回的任何记录在$数据或不。

如何检查查询是否返回了0条记录????

请帮帮我。

我使用MySQL服务器和Zend框架的PHP

+0

你可以指望'$ data'的大小或长度。 – 2014-10-29 05:53:07

+1

@sgt表示这样:sizeof($ data)....如果没有记录存在,它会是0吗? – 2014-10-29 05:54:47

+1

是或计数($数据) – 2014-10-29 05:56:42

回答

3

$data将是一个array。如果没有记录存在,则

count($data)将返回0

2
if(!empty($data)) { 
    //query has returned 1 or more results 
} 
else { 
    //query has returned 0 result 
} 
3

使用sizeof($数据)或计数($数据)

相关问题