gpt4 book ai didi

php - fatal error : Call to a member function prepare() on null

转载 作者:IT王子 更新时间:2023-10-28 23:52:34 32 4
gpt4 key购买 nike

我正在尝试访问类别列表及其内容。我有一个名为 Categories 的类。我不断收到此错误。奇怪的是,到目前为止,我在其他两个地方使用了完全相同的代码,没有出现任何问题。我在这里所做的只是重用代码并更改所有变量。

Fatal error: Call to a member function prepare() on null

这是我类(class)的代码:

    <?php

class Category {
public function fetch_all() {
global $pdo;

$query = $pdo->prepare("SELECT * FROM dd_cat");
$query->execute();

return $query->fetchAll();
}

public function fetch_data($cat_id) {
global $pdo;

$query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
$query->bindValue(1, $cat_id);
$query->execute();

return $query->fetch();
}
}

?>

这是我要调用的代码:

<?php
session_start();
//Add session_start to top of each page//
require_once('includes/config.php');
require_once('includes/header.php');
include_once('includes/category.php');

?>
<link rel="stylesheet" href="css/dd.css">
<div id="menu">
<a class="item" href="drop_index.php">Home</a> -
<a class="item" href="create_topic.php">Create a topic</a> -
<a class="item" href="create_cat.php">Create a category</a>
<div id="userbar">
<?php
if( $user->is_logged_in() )
{
echo 'Hello ' . $_SESSION['user_name'] . '. Not you? <a href="logout.php">Sign out</a>';
}
else
{
echo '<a href="login.php">Sign in</a> or <a href="index.php">create an account</a>.';
}
?>
</div>
</div>

<?php

$category = new Category;
$categories = $category->fetch_all();

?>
<div id ="wrapper">
<h1>Categories</h1>
<section>
<ul>
<?php foreach ($categories as $category) { ?>
<li><a href="category.php?id=<?php echo $category['cat_id']; ?>">
<?php echo $category['cat_title']; ?></a>
</li>
<?php } ?>
</ul>
</section>
</div>
<?php
require_once('includes/footer.php');
?>

最佳答案

看起来你的 $pdo 变量没有初始化。我在您上传的代码中看不到您在哪里初始化它。

确保在调用类方法之前在全局范围 中创建一个新的 PDO 对象。 (由于您在 Category 类中实现方法的方式,您应该在全局范围内声明它)。

$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

关于php - fatal error : Call to a member function prepare() on null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28592400/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com