为了账号安全,请及时绑定邮箱和手机立即绑定

sqlsrv_query执行不返回结果,但是在sql manager中执行代码时结果存在

sqlsrv_query执行不返回结果,但是在sql manager中执行代码时结果存在

PHP
慕仙森 2021-04-26 17:43:15
我正在尝试执行以下代码,但是由于某种原因,它没有返回任何结果,没有报告任何错误,并且我不知道为什么。当我直接将查询粘贴到SQL Manager时,它将被执行,并且得到所需的结果。我认为这与sqlsrv_query的解释不同,但我不知道为什么。这是第一次 我正在尝试使用PHP进行操作,因此我很挣扎,如果有人能指出正确的方向,我将不胜感激。 $sql = "DECLARE @YearsToPass INT    SET @YearsToPass = 10;    WITH cte AS    (    SELECT DATEPART(YY, GETDATE())- @YearsToPass + 1 as Years    UNION ALL    SELECT Years + 1 as Years    FROM cte    WHERE Years + 1 <= YEAR(GETDATE())    )    SELECT cte.Years, DATEFROMPARTS(cte.Years, 12, 31),  SUM(Inv.[Nabavna vrijednost])    FROM cte    left join  [Drezga01].[dbo].[BI_Inventory01] Inv on Inv.[Datum knjiženja] <= DATEFROMPARTS(cte.Years, 12, 31)    group by cte.Years, DATEFROMPARTS(cte.Years, 12, 31)    ORDER BY cte.Years DESC"; $query = sqlsrv_query($conn_bi,$sql); //error handling if( $query === false ) {    if( ($errors = sqlsrv_errors() ) != null) {     foreach( $errors as $error ) {     echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";     echo "code: ".$error[ 'code']."<br />";     echo "message: ".$error[ 'message']."<br />";     }   }  }while($row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_ASSOC)){$zaliha_array[] = array('godina' => $row['godina'],                        'zaliha' => abs($row['nabava']));} debugVar($zaliha_array);数组为空,但未报告任何错误。结果存在并在SQL Management Studio中执行查询时返回。有任何想法吗?
查看完整描述

3 回答

?
慕哥4548055

TA贡献1条经验 获得超0个赞

这个问题你解决了吗?是什么原因造成的?

查看完整回答
反对 回复 2021-09-15
  • 3 回答
  • 1 关注
  • 451 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信