MSSQL Fetch数组在While循环中显示错误

我正在写一个查询,以在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显示


类型的resource(3)(mssql结果)


该查询是在sql-server中执行的,为什么会显示此类型错误以解决此问题的任何方法,请帮帮我?


慕姐4208626
浏览 180回答 2
2回答

慕侠2389804

一种可能的解释是来自的返回值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) {&nbsp; &nbsp; echo "No rows are selected";} else if ($result === false) {&nbsp; &nbsp; echo "Error. ".mssql_get_last_message();&nbsp; &nbsp; exit;} else {&nbsp; &nbsp; while ($row1 = mssql_fetch_array($result)) {&nbsp; &nbsp; &nbsp; &nbsp; echo $row1['cd_pcp'];&nbsp; &nbsp; }}...?>笔记:MSSQL扩展已在PHP 7.0中删除。一个不错的选择是SQL Server的PHP驱动程序。

万千封印

我相信如果返回成功与否,var_dump将始终独立返回“ mssql结果”。如果值返回FALSE,请进行调试测试$result = mssql_query($qry,$conn);if(!$result)&nbsp; {&nbsp; &nbsp;die('MSSQL error: ' . mssql_get_last_message());}
打开App,查看更多内容
随时随地看视频慕课网APP