我正在尝试访问类别及其内容的列表。我有一堂课叫做分类。我不断收到此错误。奇怪的是,到目前为止,我已经在另外两个地方使用了相同的完全相同的代码,没有任何问题。我在这里所做的只是重用代码并更改所有变量。
Fatal error: Call to a member function prepare() on null
这是我班上的代码:
<?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
变量未初始化。在您上传的代码中,我看不到它的初始化位置。
确保global scope
在调用类方法之前在中创建了一个新的PDO对象。(由于应在Category类中实现方法,因此应在全局范围内声明它)。
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
问题内容: 我正在尝试检查注册中是否已使用电子邮件。当我在学校工作时,它运行良好,但现在突然显示出一个错误: 致命错误:在null上调用成员函数prepare() 我用这个包括 在这里 问题答案: 编辑:( 我想通了)。 我终于弄清楚了为什么您的代码无法正常工作,而我原来的答案已不再适用,我已将其剔除掉。 连接不起作用的原因是因为您从连接参数中省略了常量。 即使您可能没有设置密码,也仍然需要将其作
代码: 代码2: 错误: 注意:未定义变量:第8行的connect in/home/user/domains/site.com/public_html/inc/nav/function-nav.php致命错误:在第8行的/home/designpr/domains/shrg.ir/public_html/inc/nav/function-nav.php中调用null上的成员函数prepare()
问题内容: 我不确定这里出了什么问题。我只是在线上学习教程,并且弹出了这些错误。 我收到以下错误 错误 码 问题答案: 首先,您在函数外声明了$ db。如果要在函数内部使用它,则应将其放在函数代码的开头: 我猜,当你写的时候: 您真正想要的是:
我试图了解PDO的来龙去脉,但我却走进了这堵砖墙。 我目前的PDO课程如下: 我有其余的函数,但对于这个错误,我认为没有必要向您展示其余的函数。 然后我这样调用函数: 我得到了以下错误:致命错误:在null上调用成员函数准备(),当我调用准备函数时会发生这种情况。知道为什么会发生这种情况以及我如何解决这个问题吗?
试图创建一个登录屏幕,我得到一个错误 致命错误:在第19行的C:\xampp\htdocs\login\class\Mysql.php中,对非对象调用成员函数准备() Constants.php
我一直被这个错误困扰,请帮助我这是我的PHP代码致命错误:调用成员函数bind_param()