2012-04-02 2 views
3

안녕하세요. 저는 현재 한 필드의 값을 반환하는 PHP 스크립트를 개발 중입니다. 아래 코드는 사용하고있는 코드입니다.PHP SQL 서버 2008이 예상 결과를 반환하지 않습니다.

$code = $_POST['code']; 

$serverName = "EDIT"; 
$connectionInfo = array("UID" => "EDIT", "PWD" => "EDIT", "Database"=>"EDIT"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

$tsql2 = "SELECT paitentno FROM paraappreg WHERE appno = $code"; 

$result2 = sqlsrv_query($conn, $tsql2, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET)); 

    print sqlsrv_fetch($result2); 

이 코드는 출력을 생성하지만 항상 "1"입니다. 이걸 gussing하는 것은 sqlsrv_fetch로 값을 반환하는 방법과 관련이 있습니다.하지만이 문제가 무엇인지 사용해야하는지 잘 모르겠습니다. :)

답변

1

sqlsrv_fetch을 포기 어떤 도움

덕분에 "결과의 다음 행을 읽을 수있는 설정으로 만듭니다." 귀하가 얻고있는 응답은 "사실"이며 작업이 성공한 것입니다. 당신이하고 싶은 (코드는 테스트하지 않고 작동합니다) 데이터를 얻기 위해이 명령의 변종 중 하나를 사용할 수 있습니다 :

print ($result2); // response: 1 ("true") 

    print_r(sqlsrv_fetch_array($result2)); // response: Array("paitentno"=>'1234'); 
    print_r(sqlsrv_fetch_object($result2)); // response: StdObj->paitentno->1234; 
    // this gets the item by index: 
    print_r(sqlsrv_get_field($result2, 0)); // response: 1234; 

은 하나 더에 대한 sqlsrv_fetch at php.net.

+0

이 답변 본질적으로 올바른 읽기 정정 : sqlsrv_get_field 함수는 sqlsrv_fetch와 함께 사용해야합니다. 즉 sqlsrv_fetch를 호출하여 읽기 준비가 된 행을 만든 다음 sqlsrv_get_field를 호출하여 행의 필드 (한 번에 하나씩)를 가져옵니다. sqlsrv_fetch_array 및 sqlsrv_fech_object는 전체 행을 가져오고 sqlsrv_fetch 다음에 호출 할 수 없습니다. –

관련 문제