Php SQL不起作用?它也不会出现错误

Php SQL不起作用?它也不会出现错误,php,sql,function,Php,Sql,Function,我有一个PHP函数,它检查是否设置了变量,然后将它们添加到我的SQL查询中。然而,我似乎没有得到任何结果回来 $where_array = array(); if (array_key_exists("location", $_GET)) { $location = addslashes($_GET['location']); $where_array[] = "`mainID` = '".$location."'"; } if (array_ke

我有一个PHP函数,它检查是否设置了变量,然后将它们添加到我的SQL查询中。然而,我似乎没有得到任何结果回来

 $where_array = array();
   if (array_key_exists("location", $_GET)) {
       $location = addslashes($_GET['location']);
       $where_array[] = "`mainID` = '".$location."'";
   }
   if (array_key_exists("gender", $_GET)) {
       $gender = addslashes($_GET["gender"]);
       $where_array[] = "`gender` = '".$gender."'";
   }
   if (array_key_exists("hair", $_GET)) {
       $hair = addslashes($_GET["hair"]);
       $where_array[] = "`hair` = '".$hair."'";
   }
   if (array_key_exists("area", $_GET)) {
       $area = addslashes($_GET["area"]);
       $where_array[] = "`locationID` = '".$area."'";
   }

   $where_expr = '';
   if ($where_array) {
       $where_expr = "WHERE " . implode(" AND ", $where_array);
   }

   $sql = "SELECT `postID` FROM `posts` ". $where_expr;

   $dbi = new db();
   $result = $dbi->query($sql);
   $r = mysql_fetch_row($result);
我正在尝试调用列表中的数据,如下所示:

      $dbi = new db();
 $offset = ($currentpage - 1) * $rowsperpage;

 // get the info from the db 
 $sql .=  " ORDER BY `time` DESC  LIMIT $offset, $rowsperpage";
 $result = $dbi->query($sql);
 // while there are rows to be fetched...   

      while ($row = mysql_fetch_object($result)){
          // echo data

        echo $row['text'];


       } // end while
有人知道我为什么不检索任何数据吗

while ($row = mysql_fetch_object($result)){
      // echo data

    echo $row->text;


   } // end while

我忘了它不是来自阵列

在执行$sql之前,您可以通过发布$sql包含的内容来简化这一过程。在那里,$sql语句已经在那里了,我在分页后添加了偏移量计算,排序也在那里。这意味着在您执行$dbi->query$sql之前发布$sql的文本内容,我们希望看到的是发送到的实际sql数据库,而不是您用来生成它的代码。从mainID='1'按时间顺序描述限制0,10的帖子中选择*