【发布时间】:2017-02-22 00:16:40
【问题描述】:
我在查询我的 MSSQL 数据库和 PHP7 时遇到问题,我使用新的 Microsoft 驱动程序。 我收到以下错误: sqlsrv_query() 期望参数 1 是资源,在第 33 行的 /var/www/html/sqlFunctions.php 中给出 null
如果我将 2 个函数放在一个函数中,它就可以工作 根据 microsft 示例,它应该可以工作 https://docs.microsoft.com/nl-nl/sql/connect/php/step-3-proof-of-concept-connecting-to-sql-using-php
function OpenConnection()
{
try
{
$serverName = "devsql1";
$connectionOptions = array(
"Database"=>"test",
"Uid"=>"test",
"PWD"=>"test"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn == false)
die(FormatErrors(sqlsrv_errors()));
}
catch(Exception $e)
{
echo("Error!");
}
}
function ReadData()
{
try
{
$conn = OpenConnection();
$tsql = "SELECT [Corporatienaam] FROM tbl_Corporatie";
$getProducts = sqlsrv_query($conn, $tsql);
if ($getProducts == FALSE)
die(FormatErrors(sqlsrv_errors()));
$productCount = 0;
while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC))
{
echo($row['Corporatienaam']);
echo("<br/>");
$productCount++;
}
sqlsrv_free_stmt($getProducts);
sqlsrv_close($conn);
}
catch(Exception $e)
{
echo("Error!");
}
}
【问题讨论】:
-
OpenConnection不返回任何内容,所以ReadData的$conn是null。
标签: php sql sql-server