php – 没有从sqlsrv_num_rows获得任何回报

前端之家收集整理的这篇文章主要介绍了php – 没有从sqlsrv_num_rows获得任何回报前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过PHP页面从MS sql提取数据.我有一个有效的连接,我正在尝试一个简单的SELECT * FROM MyTable,但无论我做什么,sqlsrv_num_rows都是空白的!

这是我的代码

  1. function connect() {
  2.  
  3. $serverName = DB_HOST; //serverName\instanceName
  4. $connectionInfo = array( "Database"=>DB_NAME,"UID"=>DB_USER,"PWD"=>DB_PASSWORD);
  5. $this->connection = sqlsrv_connect( $serverName,$connectionInfo);
  6. sqlsrv_connect( $serverName,$connectionInfo);
  7.  
  8.  
  9. if( $this->connection ) {
  10. echo "<br>Connection established.<br />";
  11. }else{
  12. echo "<br>Connection could not be established.<br />";
  13. die( print_r( sqlsrv_errors(),true));
  14. }
  15.  
  16.  
  17. }

连接建立的回声正在工作所有AOK那里!

现在当我做一个简单的查询时:

  1. function query($sql) {
  2. if ($this->debug) {
  3. echo $sql . "<br />";
  4. }
  5. $this->sql = $sql;
  6. $this->recordset = sqlsrv_query($this->connection,$sql);
  7.  
  8. if (!$this->recordset) {
  9. die('<br><br>Invalid query :<br><br><bold>' . $this->sql . '</bold><br><br>' . sqlsrv_errors());
  10. }
  11.  
  12. echo "<br>rows = " . sqlsrv_num_rows($this->recordset);

我从上面的回声中得到了什么?有什么理由吗?或者你可以建议一个新的回声,我可以尝试调试这个?

我的数据库类中的所有代码都是从MysqL转换而来的,因此可能会有一些错误造成损坏!

我甚至尝试过一个超级简单的版本,所有代码在一起,它仍然是空白/假:

  1. $server = DB_HOST;
  2. $conn = sqlsrv_connect( $server,array( "Database"=>DB_NAME,"PWD"=>DB_PASSWORD) );
  3. $stmt = sqlsrv_query( $conn,"SELECT * FROM MyTable");
  4. $row_count = sqlsrv_num_rows($stmt);
  5. echo "<br>row count = " . $row_count;
  6. if ($row_count === false)
  7. echo "\nerror\n";
  8. else if ($row_count >=0)
  9. echo "\n$row_count\n";
  10. die;
试试这个…..

替换以下声明

  1. sqlsrv_query( $conn,"SELECT * FROM MyTable");

  1. sqlsrv_query( $conn,"SELECT * FROM MyTable",array(),array("Scrollable"=>"buffered"));

猜你在找的PHP相关文章