我正在编写一个查询,以在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 show
resource(3)类型(mssql结果)
查询是在sql-server中执行的,为什么以任何方式解决此问题,请解决此问题?
答案 0 :(得分: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'];
}
}
...
?>
注意:
MSSQL扩展已在PHP 7.0中删除。一种不错的选择是PHP Driver for SQL Server。
答案 1 :(得分:0)
我相信如果返回成功与否,var_dump将始终独立返回“ mssql结果”。如果值返回FALSE,则进行调试测试
$result = mssql_query($qry,$conn);
if(!$result) {
die('MSSQL error: ' . mssql_get_last_message());
}