首页 > 后端开发 > php教程 > 为什么我在尝试检索类别时收到'致命错误:在 null 上调用成员函数prepare()”?

为什么我在尝试检索类别时收到'致命错误:在 null 上调用成员函数prepare()”?

Mary-Kate Olsen
发布: 2024-10-30 16:49:03
原创
204 人浏览过

Why am I getting a

致命错误:神秘调用空成员函数

查询:

I'我在尝试使用以下代码检索类别列表时遇到令人费解的错误“致命错误:在 null 上调用成员函数准备()”:

<code class="php">$category = new Category;
$categories = $category->fetch_all();</code>
登录后复制

上下文:

Category 类具有以下方法:

<code class="php">class Category {
    public function fetch_all() {
        global $pdo;
        $query = $pdo->prepare("SELECT * FROM dd_cat");
        ...
    }

    public function fetch_data($cat_id) {
        global $pdo;
        $query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
        ...
    }
}</code>
登录后复制

我已在项目的其他两个部分成功使用此代码,但它在这里给我带来了麻烦。

响应:

出现问题是因为 $pdo 变量为空。在调用类方法之前,必须使用 PDO 对象对其进行初始化。这是由于 Category 类中方法的实现方式造成的。

要修复该错误,请将以下代码添加到您的脚本中:

<code class="php">$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);</code>
登录后复制

确保放置此代码在全局范围内,在调用 Category 类方法之前。

以上是为什么我在尝试检索类别时收到'致命错误:在 null 上调用成员函数prepare()”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板