虽然此问题已经多次here,here和here得到了回答,但这些解决方案都无法为我解决问题。
我正在尝试使用PHP从MSSQL数据库中获取数据。虽然我尝试执行的任何查询都会产生相同的错误消息:
查询的活动结果不包含任何字段。
以下是我用来执行查询的代码。
<?
include 'private.php'; // contains the servername, database, userID and password
$connectionInfo = array( "Database"=>$database, "UID"=>$userID, "PWD"=>$password);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
$query = 'USE data; SELECT * FROM Users;';
$stmt = sqlsrv_query( $conn, $query );
if(sqlsrv_has_rows($stmt))
{
echo 'success';
}
$row = sqlsrv_fetch_array( $stmt);
if ($row === false)
{
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['Name'].", ".$row['Value']."<br />";
}
sqlsrv_free_stmt( $stmt);
}
else {
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
令人惊讶的是,在Microsoft SQL Server Management Studio中执行相同的查询时没有任何错误,并且执行不返回信息的查询也可以正常工作。
请注意,我已尝试使用SET NOCOUNT ON;
,这是针对相同主题的一些答案中推荐的。
如何解决此错误?