PHP 5.6.7+SQL 2008(2005)+SQLSRVでレコードセットを読み込む+パラメータを返す

6399 ワード

一.sqlsrv接続データベース
    $serverName="ip, port";
    $connectionInfo = array("UID"=>"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn){
        echo "Connection established.

"; $server_info = sqlsrv_server_info($conn); if($server_info){ foreach($server_info as $key => $value){ echo $key.":".$value."
"; } }else{ die(print_r(sqlsrv_errors(), true)); } echo "
"; // $client_info = sqlsrv_client_info($conn); if($client_info){ foreach($client_info as $key=>$value){ echo $key.":".$value."
"; } }else{ echo "Error in retrieving client info.
"; } } else { echo "Connection could not be established.
"; die(print_r(sqlsrv_errors(), true)); } /* Close the connection. */ sqlsrv_close($conn); ?>
2.クエリー結果の取得
"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn === false){
        die(print_r(sqlsrv_errors(), true));
    }
    $sql = "select top 100 * from cti_agent;";
    $stmt = sqlsrv_query($conn, $sql, null);
    if($stmt === false){
        die(print_r(sqlsrv_errors(), true));
    }
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
        print_r($row);
        print_r($row["agtid"].", ".$row["account"].", ".$row["agtname"].", ".$row["telnum"].", ".$row["pwd"].", ".$row["isMaster"]."
"); } ?>
3.ストレージ・プロシージャの呼び出し(パラメータなし)
"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn === false){
        die(print_r(sqlsrv_errors(), true));
    }
    $sp = "{call web_agent_list}";
    $stmt = sqlsrv_query($conn, $sp, null);
    if($stmt === false){
        die(print_r(sqlsrv_errors(), true));
    }
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
        print_r($row);
        print_r($row["agtid"].", ".$row["account"].", ".$row["agtname"].", ".$row["telnum"].", ".$row["pwd"].", ".$row["isMaster"]."
"); } ?>
四.ストレージ・プロシージャの呼び出し(パラメータ入力)
"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn === false){
        die(print_r(sqlsrv_errors(), true));
    }
    $tid = 1;
    $params = array(
        array($tid, SQLSRV_PARAM_IN)
    );
    $sp = "{call web_huifang_export1(?)}";
    $stmt = sqlsrv_query($conn, $sp, $params);
    if($stmt === false){
        die(print_r(sqlsrv_errors(), true));
    }
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
        print_r($row);
        print_r($row["agtid"].", ".$row["account"].", ".$row["agtname"].", ".$row["telnum"].", ".$row["pwd"].", ".$row["isMaster"]."
"); } ?>
5.ストレージ・プロシージャの呼び出し(参照)
"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn === false){
        die(print_r(sqlsrv_errors(), true));
    }
    //prepare params
    $tid=1;
    $ttid=3;
    $kind=0;    //    
    $params = array(
        array($tid, SQLSRV_PARAM_IN),
        array($ttid, SQLSRV_PARAM_IN),
        array($kind, SQLSRV_PARAM_OUT)
    );
    //stored procedure
    $sp = "{call web_tasktel_info(?,?,?)}";
    $stmt = sqlsrv_query($conn, $sp, $params);
    if(!stmt){
        die(print_r(sqlsrv_errors(), true));
    }
    while($row=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
        $result = $row;
    }
    echo "   :";
    print_r($result);
    echo "

"; sqlsrv_next_result($stmt); echo " :"; print_r($kind); /* Release resources */ sqlsrv_free_stmt($stmt); /* Close the connection. */ sqlsrv_close($conn); ?>
六.ストレージ・プロシージャの呼び出し(マルチ結果セット)
"username", "PWD"=>"password", "Database"=>"db", "CharacterSet"=>"utf-8");
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if($conn === false){
        die(print_r(sqlsrv_errors(), true));
    }
    //stored procedure
    $sp = "{call xp_results_test()}";
    $stmt = sqlsrv_query($conn, $sp, null);
    if(!stmt){
        die(print_r(sqlsrv_errors(), true));
    }
    //     
    echo "      :
"; while($row=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){ echo $row["account"]."
"; } echo "

"; sqlsrv_next_result($stmt); while($row1=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){ echo $row1["account"]."
"; } echo "

"; sqlsrv_next_result($stmt); while($row1=sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){ echo $row1["account"]."
"; } /* Release resources */ sqlsrv_free_stmt($stmt); /* Close the connection. */ sqlsrv_close($conn); ?>