首頁 > 資料庫 > mysql教程 > 如何在不同的 PHP 類別之間正確使用 MySQLi 連線?

如何在不同的 PHP 類別之間正確使用 MySQLi 連線?

Patricia Arquette
發布: 2024-11-30 06:26:10
原創
650 人瀏覽過

How to Properly Use MySQLi Connections Across Different PHP Classes?

在 PHP 中使用另一個類別的 MySQLi

從 PHP 5.6 升級到 7.0 時,需要從 MySQL 更新到 MySQLi。但是,這有時會導致設定問題。

問題:

升級到PHP 7.0 和MySQLi 後,嘗試使用$this->db 存取資料庫連線->conn 會導致內部伺服器錯誤500,即使直接在類別中建立資料庫連接也是如此有效。

解決方案:

該錯誤是由幾種不良做法引起的:

  • 從資料庫擴展類別是不正確的。
  • Database 類別本身沒有用,因為它不提供任何

要解決此問題:

  1. 消除 Database 類別。
  2. 從普通 mysqli 建立單一 $db 實例。
  3. 將此實例作為建構子參數傳遞給任何需要資料庫的類別

範例程式碼:

// database.php
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');
登入後複製
// myapi.php
class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }
    // ... (rest of the class omitted for brevity)
}
登入後複製
// app.php
require 'vendor/autoload.php'; // assuming autoloading is set up

$api = new MyAPI($db, $request_uri, $postData, $origin);
$user = $api->getUser($_POST['id']);
登入後複製

透過遵循這些指南,您可以在PHP 中的其他類別中成功使用MySQLi .

以上是如何在不同的 PHP 類別之間正確使用 MySQLi 連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板