首頁 >後端開發 >php教程 >以下是一些標題選項,請記住問題格式並專注於 MySQLi 問題: **直接簡潔:** * **為什麼我無法從單獨的類別存取我的 MySQLi 連線? * **我的S

以下是一些標題選項,請記住問題格式並專注於 MySQLi 問題: **直接簡潔:** * **為什麼我無法從單獨的類別存取我的 MySQLi 連線? * **我的S

Barbara Streisand
Barbara Streisand原創
2024-10-25 12:52:30564瀏覽

Here are a few title options, keeping in mind the question format and focus on the MySQLi issue:

**Direct and Concise:**

* **Why Can't I Access My MySQLi Connection from a Separate Class?**
* **MySQLi Connection Issues: Accessing from a Different Class

如何在PHP 中使用單獨的類中的MySQLi

簡介

簡介

從PH升級5.6 到7.0 需要從MySQL 切換到MySQLi,這可能會破壞現有設定。本文解決了嘗試從單獨的類別存取 MySQLi 連線時遇到的問題。

問題

程式設計師嘗試存取在資料庫類別中建立的 MySQLi 連線從 API 類,呼叫連線時遇到內部伺服器錯誤 (500)。但是,直接在 API 類別中連接解決了該問題。

解決方案

  • 建議的一些變更可以修正問題:
  • 消除資料庫類別:資料庫類別是多餘的,因為它缺乏功能。
  • 建立單一 MySQLi 實例:使用本機 mysqli 類別建立單一 MySQLi 實例。
將實例作為參數傳遞:

將 MySQLi 實例作為建構子參數注入到需要資料庫連接的類別中。

範例程式碼:

<code class="php">mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');</code>
database.php:

<code class="php">class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }
}</code>

<code class="php">require 'database.php';
require 'myapi.php';

$api = new MyAPI($db, $request_uri, $postData, $origin);</code>
mapi. app.php:

以上是以下是一些標題選項,請記住問題格式並專注於 MySQLi 問題: **直接簡潔:** * **為什麼我無法從單獨的類別存取我的 MySQLi 連線? * **我的S的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn