PHP の別のクラスから MySQLi を利用する方法
はじめに
PHP からのアップグレード5.6 から 7.0 に移行するには、MySQL から MySQLi に切り替える必要があり、既存のセットアップが中断される可能性があります。この記事では、別のクラスから MySQLi 接続にアクセスしようとしたときに発生した問題について説明します。
問題
プログラマがデータベース クラスで作成された MySQLi 接続にアクセスしようとしましたAPI クラスから接続を呼び出すときに内部サーバー エラー (500) が発生しました。ただし、API クラス内で直接接続することで問題は解決しました。
解決策
推奨されるいくつかの変更により問題を修正できます。
コード例:
database.php:
<code class="php">mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');</code>
myapi.php:
<code class="php">class MyAPI { protected $db; public function __construct($db, $request_uri, $postData, $origin) { $this->db = $db; } }</code>
app.php:
<code class="php">require 'database.php'; require 'myapi.php'; $api = new MyAPI($db, $request_uri, $postData, $origin);</code>
以上が質問の形式を念頭に置き、MySQLi の問題に焦点を当てたタイトルのオプションをいくつか示します。 **直接的かつ簡潔:** * **別のクラスから MySQLi 接続にアクセスできないのはなぜですか?** * **MySの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。