在 Laravel 5.3 中从 SQL Server 获取多个结果集

Posted

技术标签:

【中文标题】在 Laravel 5.3 中从 SQL Server 获取多个结果集【英文标题】:Fetch multiple resultset from SQL Server in Laravel 5.3 【发布时间】:2018-08-01 01:46:57 【问题描述】:

这里是代码 $exec = "EXEC RPT_TEST_2resultSet"; $resultSet = \DB::select($exec);

SP 正在返回 3 个结果集。但是在 php 中它只打印第一组结果集。如何获取另外 2 组结果集?尝试了其他人建议的解决方案。遇到了一些其他错误。

【问题讨论】:

已经尝试过了,它给出了一些其他错误 SQLSTATE[IMSSP]: The given attribute is only supported on the PDOStatement object. @LuisfelipeDejesusMunoz,如果您没有阅读 SQLSERVER 而不是 mysql,这甚至不是重复的 【参考方案1】:

做一个foreach

检查示例:

foreach ($resultSet as $result) 
   echo $result['someDataFromResult'];

这将重复 $resultSet 数组中的数据量

【讨论】:

【参考方案2】:

找到了解决这个问题的简单方法。

$pdo = \DB::connection()->getPdo();
$sql = 'EXEC Test_SP_MultiResultSet';
$stmt = $pdo->query($sql);
do 
   $rows = $stmt->fetchAll(\PDO::FETCH_NUM); // Keys will be start from zero , one, two
   $rows = $stmt->fetchAll(\PDO::FETCH_ASSOC); // Column names will be assigned for each value

   if ($rows) 
    $sheetData[] = $rows;
   
 while ($stmt->nextRowset());

Source Link

【讨论】:

以上是关于在 Laravel 5.3 中从 SQL Server 获取多个结果集的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 5.3 中从 m4a 音频文件中获取 Track Id

我正在使用 laravel 5.3 ,使用 MAMP 作为服务器,我的 php 版本是 7.4.1

apache_conf 如何在Laravel(5.3)中包含流明(5.3)

在 Amazon EC2 中从 php 5.3 和 apache 2.2 升级到 php 7 和 apache 2.4

将 Laravel 从 5.3 升级到 5.4

如何在 Laravel 5.3 中执行授权策略?