执行数据库查询时遇到一个奇怪的问题

家有萌宝V 2018-05-05 02:54:42
php 5.5 +php_sqlsrv_55_ts.dll + SQLServer2008 的一个数据库应用

调用sqlsvr_query执行SQLSever数据库查询, 之前能查询到结果, 今天调用这个接口的时候,执行成功,但记录数量为0. 在线求助一下CSDN的大神们,急。。。。。。

    public function querySQL($querySQL, &$rows)
{
try
{
var_dump($querySQL);
if($this->m_conn==null)
{
throw new Exception("数据库未连接");
}

$query = sqlsrv_query($this->m_conn, $querySQL);

if(!$query):
throw new Exception("未查询到记录 SQL:$querySQL");
endif;
$num = 0;
while($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC))
{
$rows[$num] = $row;
//print_r($row);
$num++;
}
}
catch(Exception $e)
{
//var_dump($querySQL);
//var_dump($rows);
print_r("Error: [File]".$e->getFile()."[Line]".$e->getLine()."[Message]". $e->getMessage());
return 0;
}

return $num;
}


...全文
665 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
家有萌宝V 2018-05-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
只要不出错,sqlsrv_query 总是要返回结果集的,哪怕什么数据都没有 !$query 成立, 并不是什么没查询到数据,而是出现了错误
回去我又检查了一下,原因找到了。发现数据库里面给pHP建了一个叫txmy的账户,但是相关的存储过程并没有授权给这个账户, 所以导致执行存储过程失败。
家有萌宝V 2018-05-05
  • 打赏
  • 举报
回复
引用 1楼xuzuning 的回复:
只要不出错,sqlsrv_query 总是要返回结果集的,哪怕什么数据都没有 !$query 成立, 并不是什么没查询到数据,而是出现了错误
又看到你第一个回答了 感觉离解决问题不远了 明天按照你的思路我再看看
xuzuning 2018-05-05
  • 打赏
  • 举报
回复
只要不出错,sqlsrv_query 总是要返回结果集的,哪怕什么数据都没有 !$query 成立, 并不是什么没查询到数据,而是出现了错误

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧