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

Barbara Streisand
發布: 2024-10-25 12:52:30
原創
486 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!