PHP 致命的エラーの解決策: 未定義メソッド mysqli::prepare() の呼び出し
mysqli 拡張機能を使用して MySQL データベースに接続して操作すると、「PHP 致命的エラー: 未定義メソッド mysqli::prepare() の呼び出し」というエラーが発生することがあります。このエラーは通常、次の理由によって発生します:
- PHP には mysqli 拡張機能のサポートが不十分です;
- mysqli 拡張機能が正しく読み込まれていない、または正しく構成されていません;
- PHPコードに構文エラーがあります;
- MySQL サーバーが正しく構成されていないか、実行中です;
これらの理由から、解決策を以下に紹介します。
- PHP の mysqli 拡張機能のサポートを確認する
まず、PHP で mysqli 拡張機能が有効になっているかどうかを確認する必要があります。 phpinfo() 関数を通じて、mysqli 拡張機能に関する PHP 情報を取得できます。方法は次のとおりです。
1) phpinfo.php という名前の php ファイルを作成し、その中に次のコードをコピーします。
<?php phpinfo(); ?>
2) この php ファイルをルート ディレクトリにアップロードします。 Web サイトにアクセスし、ブラウザに http://yourdomain.com/phpinfo.php と入力してファイルにアクセスします;
3) PHP 情報ページで、「mysqli」拡張機能がロードされているかどうかを確認します。そうでない場合は、php.ini ファイルで mysqli 拡張機能を有効にする必要があります。
- mysqli 拡張機能の構成
mysqli 拡張機能がサポートされていることを確認しても、PHP 致命的エラー: 未定義メソッドの呼び出し mysqli::prepare() エラーがまだ発生する場合が発生した場合は、mysqli 拡張機能の構成が正しいかどうかを確認する必要があります。
まず、mysqli 拡張機能が正しくロードされているかどうかを確認します。 PHP 設定ファイル php.ini で次のコードを探すことで確認できます。
extension=mysqli.so
上記のコードが見つからない場合は、mysqli 拡張機能をロードする必要があります。 php.ini のパスに設定します。
次に、データベースへの接続時に使用されるパラメータが正しいかどうかを確認する必要があります。通常、mysqli 接続にはホスト名、ユーザー名、パスワード、データベース名の 4 つのパラメーターが必要です。これら 4 つのパラメータが正しく設定されていることを確認してください。例:
$host = 'localhost'; $username = 'user'; $password = 'pwd'; $database_name = 'testdb'; $conn = new mysqli($host, $username, $password, $database_name);
最後に、mysqli 拡張機能が正しく構成されていない場合は、コードで mysqli バージョンを手動で構成してみることができます。例:
$conn = new mysqli(); $conn -> init(); $conn -> options(MYSQLI_OPT_CONNECT_TIMEOUT, 5); $conn -> real_connect($host, $username, $password, $database_name);
- PHP コード構文の確認
mysqli 拡張機能を使用する場合、PHP コードに構文エラーがあると、PHP 致命的エラーも発生します。 : 未定義メソッド Mysqli::prepare() の呼び出しエラー。したがって、コードに構文エラーがないかチェックする必要があります。
コード エディターまたは IDE ツールを使用して構文をチェックし、特にセミコロンの欠落や中括弧の不一致などがないかどうかを確認できます。
- MySQL サーバーを確認する
上記の対策でも問題が解決できない場合は、MySQL サーバーが実行中であり、正しく構成されているかどうかを確認する必要があります。
まず、MySQL サーバーが起動しているかどうかを確認します。次のコマンドを使用してターミナルで確認できます:
sudo service mysql status
MariaDB を使用したことがある場合は、次のコマンドを試すことができます:
sudo service mariadb status
MySQL または MariaDB サービスが実行されている場合は、次のことを行う必要があります。 MySQL データベースが正しく設定されているかどうかを確認します。 MySQL クライアントを使用して MySQL データベースにログインし、必要なデータベースとテーブルが存在するかどうかを確認できます。
mysql -u username -p
パスワードを入力し、現在のデータベースを表示します:
SHOW DATABASES;
データベースがリストにない場合は、データベースを手動で作成する必要があります。
MySQL サーバーとデータベースが正しく構成されている場合、問題は PHP 部分にある可能性が高くなります。 PHP コードが mysqli クラスとそのメソッドを正しく呼び出すかどうかを確認できます。
概要
mysqli 拡張機能を使用するときに、「PHP 致命的エラー: 未定義メソッド mysqli::prepare() への呼び出し」というエラーが発生した場合は、まず PHP が mysqli 拡張機能をサポートしているかどうかを確認する必要があります。 mysqli 拡張機能が正しくロードおよび構成されているかどうか、PHP コードに構文エラーがなく、MySQL データベースが正しく構成されているかどうか。上記の問題が解決されて初めて、他の問題のトラブルシューティングを続けることができます。
以上がPHP 致命的エラーの解決策: 未定義メソッド mysqli::prepare() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
