2012-03-06 111 views
0

我试图找出这几天,我找不到错误可能是什么。我的代码有些问题,我不知道是什么,

这是我的代码:

<?php 
$page = isset($_POST['page']) ? intval($_POST['page']) : 1; 
$rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10; 


include 'conn.php'; 




class get_data extends connection{ 

    public function __construct($page,$rows){ 
     $s_page=mysql_real_escape_string($page); 
     $s_rows=mysql_real_escape_string($rows); 



     $this->get_all($s_page,$s_rows); 

    } 


    public function get_all($page,$rows){ 
    $this->connect_to_db(); 
    $tablename = $this->define_table_name(); 
    $offset = ($page-1)*$rows; 
    $result = array(); 


    $rs = mysql_query("select count(*) from $tablename"); 
    $row = mysql_fetch_row($rs); 
    $result["total"] = $row[0]; 
    $startq="select * from $tablename limit $offset,$rows"; 
    $rs = mysql_query("select * from $tablename limit $offset,$rows"); 
    $items = array(); 
    while($row = mysql_fetch_object($rs)){ 
    array_push($items, $row); 
    } 
    $result["rows"] = $items; 

    echo json_encode($result); 


    } 

} 

$getdata=new get_data($page,$rows); 
?> 

输出为{"total":"3","rows":[]}
的问题是:行是空的,但它计算有多少行的分贝含义的连接是好的,但查询行是不是有什么建议?

+0

查询后有什么项目?你可以发布var_dump()吗? – 2012-03-06 04:22:08

+0

array(0){}该项目位于项目 – tomexsans 2012-03-06 04:37:07

+1

的var_dump上**检测到SQL注入** – 2012-03-06 04:39:41

回答

1

你是mysql_real_escape_string你的参数建立到数据库的连接之前mysql_real_escape_string需要与数据库的现有连接来完成其工作。如果没有,它会尝试建立自己的连接,这很可能会失败,这意味着您的参数是null

如果你已经启用了错误报告或者可以通过简单的var_dump这里和那里的各种变量来调试你的应用,那应该很容易弄清楚。

+0

太好....... – 2012-03-06 04:40:11

+0

waaah花了我几天的时间来弄清楚这个烂摊子......谢谢这很好 – tomexsans 2012-03-06 06:32:33