PHP の別のクラスから MySQLi を使用する
問題の説明:
質問は支援を求めています別のクラス内から別のクラスで確立された MySQLi 接続にアクセスする場合。接続プロパティを持つデータベース クラスが作成され、API クラスがこの接続へのアクセスを試みます。ただし、接続にアクセスしようとすると、内部サーバー エラーが発生します。
回答:
悪い習慣と推奨事項:
提供されたコードには、エラー:
次のことを推奨します。 :
リファクタリング済みコード:
database.php:
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
m yapi.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 essential $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
これらの推奨事項に従うと、別のクラスから効果的にエラーなしで MySQLi 接続にアクセスできます。
以上がPHP の別のクラスから MySQLi 接続に適切にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。