2012-03-06 7 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

쿼리 후 $ items에 포함 된 항목은 무엇입니까? var_dump()를 게시 할 수 있습니까? –

+0

배열 (0) {} 이것은 항목 – tomexsans

+1

의 var_dump에 있습니다 ** SQL 주입이 감지되었습니다 ** –

답변

1

데이터베이스에 연결하기 전에 의 에 도달하기 전입니다. mysql_real_escape_string은 작업을 수행하기 위해 데이터베이스에 대한 기존 연결이 필요합니다. 아무 것도 없다면 자체적으로 연결을 시도합니다. 실패 할 확률이 가장 높습니다. 즉 매개 변수가 null입니다.

오류보고를 사용하도록 설정했거나 다양한 변수를 여기저기서 간단하게 적용하여 디버그 한 경우 알아 두어야 할 것 같습니다.

+0

너무 좋아 ....... –

+0

waaah 날이 혼란을 알아 내려고했다 ... 감사합니다 좋았어요 – tomexsans