打印结果为什么 什么都么有呢?数据库中执行结果如下
请帮帮忙,急死了。

解决方案 »

  1.   

    你 call 执行的存储过程,返回的数据应在第二个结果集中(没有 select,第一个结果集为空)
    你需要移动一下结果集指针(类似这样的函数 sqlsrv_next_rowset)
      

  2.   

    哥们,sqlsrv_next_rowset是啥啊,具体怎么弄啊?能详细点吗,太感谢了
      

  3.   

     sqlsrv_next_result
      

  4.   

    sqlsrv_next_rowset 就是指针向后移动一次http://php.net/manual/zh/function.sqlsrv-next-result.php参考:<?php
    $serverName = "serverName\sqlexpress";
    $connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
    $params = array(1, "some data");
    $stmt = sqlsrv_query($conn, $query, $params);// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
    echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";// Move to the next result and display results.
    $next_result = sqlsrv_next_result($stmt);
    if( $next_result ) {
       while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
          echo $row['id'].": ".$row['data']."<br />"; 
       }
    } elseif( is_null($next_result)) {
         echo "No more results.<br />";
    } else {
         die(print_r(sqlsrv_errors(), true));
    }
    ?>