我开始学习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>
答案 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'))