在PHP 中使用另一個類別中的MySQLi
問題描述:
問題
問題描述:問題
問題描述:問題
答案:所提供的程式碼包含一些不良做法,這些做法會導致錯誤:
消除 Database 類,因為它沒有任何意義目的。
從 vanilla mysqli 建立單一 $db 實例。將此實例作為建構子參數傳遞給需要資料庫連接的類別。
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
重構程式碼:
<?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>
<?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']);
mapp.php:作者遵循這些建議,可以有效且無錯誤地從另一個類存取MySQLi 連線。
以上是如何從 PHP 中的單獨類別正確存取 MySQLi 連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!