PDOStatement对象的var_dump不显示返回的数据

乔纳森·M

我正在尝试查看查询返回的PDOStatement对象的结构:

$sql="SELECT co.CompanyId, co.Name, co.Address, co.City, co.State, ctry.NameEnglish, co.PostalCode FROM company AS co LEFT JOIN country AS ctry ON ctry.CountryId = co.CountryId ORDER BY Name;";
$result=$conn->query($sql);

该查询有效,因为我可以嵌套一些foreach语句并通过执行以下操作显示六行数据。

$firstRow=true;
echo '<table>';
foreach ($result as $rowId => $rowData) {
    if ($firstRow) {
        echo "<thead><tr><th>Row Number</th>";
        foreach ($rowData as $fieldId => $fieldData) {
            echo "<th>$fieldId</th>";
        }
        echo "</tr></thead>";
        $firstRow=false;
    }
    echo "<tr><td>$rowId</td>";
    foreach ($rowData as $fieldId => $fieldData) {
        $fieldData=str_replace("\n","<br>",$fieldData);
        echo "<td>$fieldData</td>";
    }
    echo "</tr>";
}
echo "</table>";

但是我对对象的内部结构很好奇$result,所以我var_dump得到了它:

object(PDOStatement)#4 (1) {
    ["queryString"]=>
        string(185) "SELECT co.CompanyId, co.Name, co.Address, co.City, co.State, ctry.NameEnglish, co.PostalCode FROM company AS co LEFT JOIN country AS ctry ON ctry.CountryId = co.CountryId ORDER BY Name;"
}

为什么不var_dump显示与行和字段关联的数组?

火箭危险品

手册页PDOStatement显示了这里发生的情况。PDOStatement对象只有一个属性queryString当您将var_dump.“其他所有功能”PDOStatement都排除在方法之外时,这就是您所看到的var_dump

PDOStatement implements Traversable(适用于的文档Traversable。)这是您在时看到行的方式foreach在内部,PDOStatement实现foreach在对象上方调用的方法这些方法调用fetch()并获取行数据。这样便可以在看到行时foreach看到它们,但是为什么看不到它们var_dump

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么var_dump不显示空字节?

来自分类Dev

php var_dump() 不显示非英文字符

来自分类Dev

Var_dump返回null ...为什么?

来自分类Dev

var_dump()是否显示类属性?

来自分类Dev

DateTime对象在没有var_dump的情况下返回NULL

来自分类Dev

var_dump显示时无法返回一条记录

来自分类Dev

Var_dump()显示字符串,echo()/ print_r()不返回任何内容

来自分类Dev

Var_dump()显示字符串,echo()/ print_r()不返回任何内容

来自分类Dev

echo和(var_dump或print_r)在laravel对象上显示完全不同的事物

来自分类Dev

echo和(var_dump或print_r)在laravel对象上显示完全不同的事物

来自分类Dev

对象内部的Zend Framework 1 var_dump对象

来自分类Dev

var_dump 会显示什么值而 echo 不会显示?

来自分类Dev

PHP var_dump在C#中转储数组或对象?

来自分类Dev

访问对象标识符,例如var_dump?

来自分类Dev

使用爆炸功能时,PHP var_dump显示NULL

来自分类Dev

var_dump未显示PHP数组值,但已获取。

来自分类Dev

交互模式下的var_dump显示意外结果

来自分类Dev

SQL 数组 var_dump 什么也没显示

来自分类Dev

全局覆盖var_dump?

来自分类Dev

捕获var_dump输出

来自分类Dev

PDO var_dump错误

来自分类Dev

var_dump filter_var FILTER_SANITIZE_URL返回行为

来自分类Dev

RECURSIVE函数的返回数组为NULL,而返回之前的var_dump有效

来自分类Dev

RECURSIVE函数的返回数组为NULL,而返回之前的var_dump有效

来自分类Dev

var_dump返回null。登录页面为空白页面

来自分类Dev

PHP PDO 数组结果为空但 var_dump 返回完整结果

来自分类Dev

将var_dump输出数组对象保存到变量中

来自分类Dev

PHP curl响应为JSON格式,但var_dump显示字符串

来自分类Dev

为什么var_dump显示文件名和行号?

Related 相关文章

  1. 1

    为什么var_dump不显示空字节?

  2. 2

    php var_dump() 不显示非英文字符

  3. 3

    Var_dump返回null ...为什么?

  4. 4

    var_dump()是否显示类属性?

  5. 5

    DateTime对象在没有var_dump的情况下返回NULL

  6. 6

    var_dump显示时无法返回一条记录

  7. 7

    Var_dump()显示字符串,echo()/ print_r()不返回任何内容

  8. 8

    Var_dump()显示字符串,echo()/ print_r()不返回任何内容

  9. 9

    echo和(var_dump或print_r)在laravel对象上显示完全不同的事物

  10. 10

    echo和(var_dump或print_r)在laravel对象上显示完全不同的事物

  11. 11

    对象内部的Zend Framework 1 var_dump对象

  12. 12

    var_dump 会显示什么值而 echo 不会显示?

  13. 13

    PHP var_dump在C#中转储数组或对象?

  14. 14

    访问对象标识符,例如var_dump?

  15. 15

    使用爆炸功能时,PHP var_dump显示NULL

  16. 16

    var_dump未显示PHP数组值,但已获取。

  17. 17

    交互模式下的var_dump显示意外结果

  18. 18

    SQL 数组 var_dump 什么也没显示

  19. 19

    全局覆盖var_dump?

  20. 20

    捕获var_dump输出

  21. 21

    PDO var_dump错误

  22. 22

    var_dump filter_var FILTER_SANITIZE_URL返回行为

  23. 23

    RECURSIVE函数的返回数组为NULL,而返回之前的var_dump有效

  24. 24

    RECURSIVE函数的返回数组为NULL,而返回之前的var_dump有效

  25. 25

    var_dump返回null。登录页面为空白页面

  26. 26

    PHP PDO 数组结果为空但 var_dump 返回完整结果

  27. 27

    将var_dump输出数组对象保存到变量中

  28. 28

    PHP curl响应为JSON格式,但var_dump显示字符串

  29. 29

    为什么var_dump显示文件名和行号?

热门标签

归档