我通过 PHP 从 MSSQL 查询收到奇怪的输出


I am receiving strange output from a MSSQL query via PHP

我正在使用下面在我的Linux服务器上运行的PHP文档:

<?
/*
** Connect to database:
*/
// Connect to the database (host, username, password)
$con = sqlsrv_connect('XXXXXX','XXXXX','XXXXXX') 
    or die('Could not connect to the server!');
// Select a database:
mssql_select_db('Quotes_SQL') 
    or die('Could not select a database.');
// Example query: (TOP 10 equal LIMIT 0,10 in MySQL)
$SQL = "SELECT TOP 10 * FROM FederalStockCards ORDER BY ID ASC";
// Execute query:
$result = mssql_query($SQL) 
    or die('A error occured: ' . mysql_error());
// Get result count:
$Count = mssql_num_rows($result);
print "Showing $count rows:<hr/>'n'n";
// Fetch rows:
while ($Row = mssql_fetch_assoc($result)) {
    print $Row['Fieldname'] . "'n";
}
mssql_close($con);
?>

但是在通过访问执行 PHP 文件后:http://cinicraft.com/Silverman/mssql.php

我收到以下输出:

'

'";//获取行: while ($Row = mssql_fetch_assoc($result(( { print $Row['字段名称'] ."'";} mssql_close($con(; ?>

我不太确定该怎么做,MSSQL 服务器是否返回了此输出?

您在连接时使用sqlsrv_connect。然后后来使用了所有mssql函数。这里提到的,它们两者之间有一个区别:http://blogs.msdn.com/b/brian_swan/archive/2010/03/08/mssql-vs-sqlsrv-what-s-the-difference-part-1.aspx。

请改用mssql_connect,说明如下:http://php.net/manual/en/function.mssql-connect.php

此外,请确保已启用mssql驱动程序