//获取记录的总笔数     public function num_rows($results) {  //$results参数是select_query($sql)的返回结果         if(!is_bool($results)) {  //**********这个地方看不懂,为什么用is_bool()取反判断,这样有什么用?             $num = mysql_num_rows($results);               $this->write_log("获取的记录条数为".$num);               return $num;           } else {               return 0;           }       }  

解决方案 »

  1.   

    鉴于下面有 $num = mysql_num_rows($results);
    所以 if(!is_bool($results)) { 是错误的
    不是逻辑类型,并不能说就一定是资源类型
      

  2.   

    mysql_query() 执行出错时返回 false(bool)  值。就是判断这个用的。
    if(!is_bool($results)) {   如果非bool 值,则说明query 执行成功了,否则失败了。
      

  3.   

    值得注意的是参数$results
    看你的函数,$results参数应该是数据库查询的结果。
    这样的话,用is_bool判断查询是否为假就没有什么好奇怪的了.....