PHP の別のクラスから MySQLi を使用する: 詳細な内訳
このクエリでは、ユーザーは PHP から移行した後に MySQL を MySQLi にアップグレードしました。 5.6から7.0。 「他のクラスでの MySQLi の使用」ガイドに従った後、別のクラスからデータベース接続にアクセスしようとしたときに内部サーバー エラー 500 が発生しました。
エラーを理解するために、ユーザーの PHP コードを調べてみましょう。これらには 3 つのクラスがあります。MySQLi 接続を確立するための Database クラス、この接続へのアクセスを試みる MyAPI クラス、および実際のデータベース クエリを作成する別の関数です。
エラー分析
この問題は、コード:
解決策
これらの問題に対処するには、次の手順をお勧めします。
改善された PHP コードは次のとおりです。例:
database.php
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
myapi.php
<?php class MyAPI { protected $db; public function __construct($db, $request_uri, $postData, $origin) { $this->db = $db; } public function getUser($id) { $sql = "SELECT * FROM users where>
app.php
<?php # require_once 'Database.php'; # require_once 'myapi.php'; require 'vendor/autoload.php'; // autoloading is a must $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
これで変更を加えると、ユーザーは適切な MySQLi 接続を確立し、さまざまなクラスからデータベース クエリを実行できるようになります。
以上がPHP の異なるクラスから MySQLi データベース接続に適切にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。