来自MSSQL的PHP​​行数

时间:2015-12-17 13:13:45

标签: php sql-server apache

我开始学习PHP,需要连接到SQL Server。我使用的Web服务器是Apache。我的PHP下面输出"已建立连接"在浏览器窗口中没问题,但为了确保我也得到数据,我包含了获取行数的代码,但由于某种原因,行数周围的代码似乎不起作用,但行数计算部分之后的代码输出"返回的结果"到浏览器。我尝试使用COUNT(名称)将SELECT更改为计数,并且还更改了

$result = sqlsrv_query($conn, $query)

$result = sqlsrv_query($conn, $query, array(), array("Scrollable" => 
'static'))

但迄今为止都没有奏效。为什么行数不起作用?

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>Check SQL Server Connection</title>
 </head>
 <body>
   <?php
     $serverName = "IT90334\SQLEXPRESS";
     $connectionInfo = array('Database' => 'AdventureWorks');
     $conn = sqlsrv_connect($serverName, $connectionInfo);

     if ($conn) {
       echo "Connection Established.<br />";
     } else {
       echo "Something went wrong while connecting to MSSQL.<br />";
       die(print_r(sqlsrv_errors(), true));
     }

     $query = "SELECT Name FROM production.Location"
     $result = sqlsrv_query($conn, $query)
        or die('An error has occurred');

     $rowcount = sqlsrv_num_rows($result);

     if($rowcount === FALSE){
       echo "failure";
     }
     else {
       echo $rowcount;
     }

     if($result === FALSE){
       die(print_r(sqlsrv_errors(), true));
     }
     else {
       echo "Results returned. <br />;
     }

     sqlsrv_close($conn);

  ?>
  </body>
</html> 

2 个答案:

答案 0 :(得分:0)

这里有几个语法问题:

x = list("some value")
print x //['s', 'o', 'm', 'e', ' ', 'v', 'a', 'l', 'u', 'e']

请记住始终用分号终止行,并用双/单引号(最好是双引号和嵌套单引号)关闭字符串。

答案 1 :(得分:0)

在我的代码中发现$ rowcount变量之一实际上是$ rowCount(大写C)。这使代码工作并输出失败。但后来我改变了$ result的设置,使其再次具有可滚动的静态参数,如图所示,它可以工作

$result = sqlsrv_query($conn, $query, array(), array("Scrollable" => 
'static'))