2012-04-02 19 views
3

こんにちは私は現在、単純に1つのフィールドの値を返すPHPスクリプトを開発中です。以下のコードは、使用しているものですPHP SQL Server 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"です。私はこの問題を解決するために、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

についてもっと読むこの答えは1で、基本的に正しいです:やりたいこと(コードがテストされていませんが、動作するはずです)のデータを取得するには、このコマンドの変異体のいずれかを使用で修正:sqlsrv_get_field関数は、sqlsrv_fetchと組み合わせて使用​​するためのものです。すなわち、sqlsrv_fetchを呼び出して読取り準備が整った後、sqlsrv_get_fieldを呼び出して、行内のフィールド(一度に1つ)を取得します。 sqlsrv_fetch_arrayとsqlsrv_fech_objectは行全体をフェッチし、sqlsrv_fetchの後に呼び出すことはできません。 –

関連する問題