【问题标题】:PHP Fatal error: Uncaught Error: Cannot use object of type mysqli as arrayPHP 致命错误:未捕获的错误:无法使用 mysqli 类型的对象作为数组
【发布时间】:2017-12-08 22:36:20
【问题描述】:

我不明白为什么这行:

$this->db = mysqli($db['host'],$db['user'],$db['pass'],$db['name']);

把那个错误告诉我:

[05-Jul-2017 11:55:26 Europe/Berlin] PHP 致命错误:未捕获错误: 不能使用 mysqli 类型的对象作为数组 /var/www/***/public_html/core/classes.php:7

堆栈跟踪:#0 /var/www/***/public_html/core/classes.php(19): 数据库->connectDatabase()

1 /var/www/***/public_html/index.php(5): 核心->__construct()

2 {main} 在第 7 行的 /var/www/***/public_html/core/classes.php 中抛出

我正在运行 Ubuntu Apache PHP7,phpinfo() 确实提到了 mysqli 分机。

【问题讨论】:

    标签: ubuntu mysqli apache2 php-7


    【解决方案1】:

    你在mysqli之前尝试过关键字new

    $this->db = new mysqli($db['host'],$db['user'],$db['pass'],$db['name']);
    

    还要检查,mysqli 函数的任何给定参数是否是数组(这可能会导致错误)。 $db['host'],$db['pass'],$db['user'],$db['name'] 应该是字符串

    【讨论】:

    • 你能不能print_r($db)在这里发布输出,并删除你不想在这里显示的信息。
    • 我打印了 $db 然后意识到我的配置文件存储凭据在 $_db['host'] = "127.0.0.1" ... 并且 mysqli() 是 $db,现在更改它它有效。
    • 很高兴知道!最好的问候!
    猜你喜欢
    • 2017-11-12
    • 1970-01-01
    • 2019-07-04
    • 2019-03-04
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 2017-06-05
    相关资源
    最近更新 更多