Bagaimana untuk Mengakses MySQLi dari Kelas Luaran dalam PHP 7.0?

Susan Sarandon
Lepaskan: 2024-10-26 08:21:30
asal
154 orang telah melayarinya

How to Access MySQLi from an External Class in PHP 7.0?

Mengakses MySQLi daripada Kelas Luaran dalam PHP

Masalah:

Selepas menaik taraf daripada PHP 5.6 hingga 7.0, persediaan sedia ada yang menggunakan kedua-dua kelas MySQL dan MyAPI telah menghadapi masalah. Khususnya, mengakses sambungan pangkalan data daripada kelas MyAPI mengakibatkan ralat pelayan dalaman 500.

Penyelesaian:

Terdapat beberapa amalan yang menyumbang kepada ralat ini:

  1. Elakkan Pewarisan: Memanjangkan MyAPI daripada kelas Pangkalan Data adalah berlebihan dan tidak perlu.
  2. Alih Keluar Kelas Pangkalan Data Berlebihan: Kelas Pangkalan Data tidak berfungsi secara praktikal tujuan kerana ia terutamanya mewujudkan sambungan, yang boleh dicapai dengan mudah melalui kelas mysqli vanilla.
  3. Buat Contoh Pangkalan Data Berpusat: Wujudkan satu contoh global sambungan pangkalan data dan luluskannya kepada setiap kelas yang memerlukan akses pangkalan data.

Struktur Kod:

Buat tiga fail:

  • pangkalan data. php: Mengandungi logik sambungan pangkalan data.
  • myapi.php: Mentakrifkan kelas MyAPI dengan suntikan kebergantungan untuk sambungan pangkalan data.
  • apl. php: Bertindak sebagai titik masuk dan membuat instantiate kelas MyAPI, melepasi sambungan pangkalan data.

pangkalan data.php:

<code class="php"><?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');</code>
Salin selepas log masuk

myapi.php:

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

    public function __construct($db)
    {
        $this->db = $db;
    }

    public function getUser($id)
    {
        // Define SQL query and subsequent operations to fetch user data.
    }
}</code>
Salin selepas log masuk

app.php:

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

$api = new MyAPI($db);
$user = $api->getUser($_POST['id']);</code>
Salin selepas log masuk

Dengan mengikuti garis panduan ini dan memisahkan kebimbangan pangkalan data daripada fungsi kelas, isu mengakses MySQLi daripada kelas luaran boleh diselesaikan dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses MySQLi dari Kelas Luaran dalam PHP 7.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!