[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
2022-01-20 17:07:47
質問
カテゴリとそのコンテンツのリストにアクセスしようとしています。Categoriesというクラスを持っています。このエラーが出続けます。奇妙なことに、これと全く同じコードを、これまで他の2つの場所で何の問題もなく使用してきました。私がここでしたことは、コードを再利用し、すべての変数を変更したことだけです。
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
変数が初期化されていません。
アップロードされたコードには、初期化している箇所が見当たりません。
に新しい PDO オブジェクトを作成したことを確認します。
global scope
クラスメソッドを呼び出す前に (Categoryクラス内のメソッドをどのように実装したかにより、グローバルスコープで宣言する必要があります)。
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
関連
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] 致命的なエラー メンバ関数 prepare() の NULL での呼び出し
-
[解決済み] 致命的なエラーです。最大実行時間30秒を超えました
-
[解決済み] PHP Fatal error: 未定義の関数 json_decode() への呼び出し
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] 致命的なエラー メンバ関数 prepare() の NULL での呼び出し