2014-06-16 1 views
0

결과 항목을 쿼리하고 표시 할 때마다 문제가 있습니다. 데이터베이스에 PHP와 MSSQL을 사용하고 있습니다. 데이터베이스에서 쿼리 할 때 아무런 문제가 없지만 "if"문을 추가하여 "NO RECORDS FOUND"를 표시하면 문제가 발생합니다. 나는 문제가 생각하는 곳mssql 데이터베이스에서 결과를 가져 오는 데 문제가 발생했습니다.

여기 내 코드입니다 : 테이블에

// 결과 표시

if(sqlsrv_num_rows($result)>0){ 

    $o = '<table id="myTable"> 
     <thead> 
     <tr> 
     <th>Name</th> 
     <th>Age </th> 
     <th>Sex</th> 
     </tr> 
     </thead><tbody>'; 

    while ($record = sqlsrv_fetch_array($result)) 
     { 

      $o .= '<tr><td>'.$record ['Name'].'</td><td>'.$record ['Age'].'</td><td>'.$record ['Sex'].'</td></tr>'; 
     }    

    $o .= '</tbody></table>'; 

    echo $o; 

    } 

    else{ 

    echo "No records found"; 

    } 

나는 항상 데이터가 저장되는 경우에도 발견되지 레코드를 표시하지 않는 데이터를 검색 할 때마다 데이터베이스 도와주세요? 여기

답변

1

sqlsrv_num_rows의 문서에서 초보자는 :

이 기능은 문 리소스가 정적 또는 키 집합 커서를 생성해야합니다.

당신이이 같은 쿼리합니다 (SQLSRV_CURSOR_KEYSET 옵션을 참고)을 생성합니다 :

$sql = "SELECT * FROM Table_1"; 
$params = array(); 
$options = array("Scrollable" => SQLSRV_CURSOR_KEYSET); 
$result = sqlsrv_query($conn, $sql , $params, $options); 

이유, 기본 옵션 (SQLSRV_CURSOR_FORWARD는) 만 데이터베이스에 하나의 레코드를 가져 오는 것입니다 한 번에 한 줄씩. 즉, sqlsrv_num_rows 함수는 모든 행을 가져 오기 전에 호출 될 때 행 수를 알지 못합니다.

+0

트릭을 했어 @Dan 고마워요! :) –

+0

당신을 진심으로 환영합니다. 회신이 도움이 되었다면, 귀하의 질문에 대한 답변으로 표시하는 것이 좋습니다. – Dan

관련 문제