0

我正在编写一个查询以在 mssql 服务器中获取一些结果,该结果可以正常工作,但现在它们出现了一些错误,错误是

警告:mssql_fetch_array(): 3 不是有效的 MS SQL 结果资源

我的连接查询正在工作,没有问题,我的查询是这样的

$qry="select cd_pcp,pcp_nm from tbl_m_pcp order by cd_pcp asc";
$result=mssql_query($qry);
while($row1=mssql_fetch_array($result))
{
echo $row1['cd_pcp'];
}

var_dump $result 显示

类型的资源(3)(mssql 结果)

查询是在 sql-server 中执行的,为什么显示这种类型的错误有什么方法可以解决这个问题,请帮帮我?

4

2 回答 2

0

一种可能的解释是来自 的返回值mssql_query()

返回值

成功时返回 MS SQL 结果资源,如果没有返回行,则返回 TRUE,错误时返回 FALSE。

检查结果很重要mssql_query()

<?php
...
$qry = "select cd_pcp,pcp_nm from tbl_m_pcp order by cd_pcp asc";
$result = mssql_query($qry);
if ($result === true) {
    echo "No rows are selected";
} else if ($result === false) {
    echo "Error. ".mssql_get_last_message();
    exit;
} else {
    while ($row1 = mssql_fetch_array($result)) {
        echo $row1['cd_pcp'];
    }
}
...
?>

笔记:

在 PHP 7.0 中删除了 MSSQL 扩展。一个不错的选择是PHP Driver for SQL Server

于 2019-04-24T17:19:41.333 回答
0

我相信无论返回成功与否,var_dump 将始终独立返回“mssql 结果”。如果值返回 FALSE,则进行调试测试

$result = mssql_query($qry,$conn);
if(!$result)  {
   die('MSSQL error: ' . mssql_get_last_message());
}
于 2019-04-24T17:29:51.533 回答