PHP,Laravel,调用
$db->select("EXEC [dbo].[sp_StoredProc1] 1, 3, 1, '2016-06-12 00:00:00', '2016-09-12 00:00:00'");
结果 - EMPTY ARRAY !!!
通过SQL Server Management Studio调用相同的函数:
EXEC [dbo].[sp_StoredProc1] 1, 3, 1, '2016-06-12 00:00:00', '2016-09-12 00:00:00'
结果 - 有效表。
任何想法,为什么会发生这种情况都受到热烈欢迎
答案 0 :(得分:2)
原因 - 是PHP PDO for MS SQL Server中的错误。 尽管发生了异常,但不会抛出异常。 这里描述了非常相似的案例: http://www.sqlservercentral.com/Forums/Topic1754869-392-1.aspx
所以这是两步问题:
另外,您可能会看到此主题 PHP - PDOException is not thrown on error, an empty array returned (SQL Server) 我的同事在这个问题上做了比我更好的调查:)))
答案 1 :(得分:0)
试试这个:
DB::select(DB::raw("EXEC [dbo].[sp_StoredProc1] 1, 3, 1, '2016-06-12 00:00:00', '2016-09-12 00:00:00'");
您还可以尝试查看您获得的内容,但DB::select(...)
部分和DB::raw("...")
部分中的dd()
部分和转储功能都可以获得;