【问题标题】:MongoDB\Driver\Cursor::current() returns nothing but it shouldMongoDB\Driver\Cursor::current() 什么都不返回,但它应该
【发布时间】:2020-12-09 18:11:54
【问题描述】:

我使用的是 PHP 8。

var_dump(get_class($usernameInDb)); 返回string(21) "MongoDB\Driver\Cursor"

var_dump($usernameInDb);表示有文档。

$avirer = $usernameInDb->current(); 不会导致 error.log 中出现 PHP 错误。

var_dump($avirer); 返回int(8) string(26) "Undefined variable: avirer"

在我看来这与 the documentation 矛盾

有人知道发生了什么吗?

【问题讨论】:

    标签: php mongodb php-8


    【解决方案1】:

    这应该是固定的bug

    $avirer 未定义,因为$usernameInDb->current() 未处理导致$avirer 处于无效状态的无效位置。

    如果你这样做

    var_dump($cursor->current());
    echo gettype($cursor->current());
    

    输出将是

    UNKNOWN:0
    unknown type
    

    var_dumpgettype 如何处理 Unknown 数据类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 2011-02-12
      相关资源
      最近更新 更多