"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية مشاركة اتصال MySQLi بين الفئات المختلفة في PHP؟

كيفية مشاركة اتصال MySQLi بين الفئات المختلفة في PHP؟

تم النشر بتاريخ 2024-11-02
تصفح:135

How to Share a MySQLi Connection Between Different Classes in PHP?

استخدام MySQLi في الفصول الدراسية: دليل استكشاف الأخطاء وإصلاحها

قد يكون استخدام MySQLi من فئات مختلفة أمرًا صعبًا، لكن لا تقلق. دعنا نتعمق في المشكلات التي واجهتها ونقدم لك حلاً.

المشكلة: خطأ داخلي في الخادم 500

  • السبب: محاولة للوصول إلى خاصية conn لكائن قاعدة البيانات بعد إنشائه في فئة مختلفة (MyAPI).

الحل: تهيئة كائن قاعدة البيانات داخل مُنشئ MyAPI وتمريره ككائن المعلمة إلى وظائف أخرى تتطلب اتصالاً بقاعدة البيانات. وهذا يضمن أن جميع الفئات التي تشارك الاتصال لها إشارة مباشرة إلى نفس المثيل.

مثال:

// myapi.php فئة MyAPI { خاص $ ديسيبل؛ الوظيفة العامة __construct($db) { $this->db = $db; } الوظيفة العامة getUser($id) { $result = mysqli_query($this->db->conn, "SELECT * FROM users WHERE id='$id'"); إرجاع mysqli_fetch_assoc($result); } } // التطبيق.php // تهيئة قاعدة البيانات مرة واحدة $db = new mysqli(...); // أنشئ مثيل MyAPI بمرجع قاعدة البيانات $api = new MyAPI($db); // استخدم MyAPI للوصول إلى معلومات المستخدم $user = $api->getUser(1);
// myapi.php
class MyAPI {
    private $db;

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

    public function getUser($id) {
        $result = mysqli_query($this->db->conn, "SELECT * FROM users WHERE id='$id'");
        return mysqli_fetch_assoc($result);
    }
}

// app.php
// Initialize database once
$db = new mysqli(...);

// Create MyAPI instance with database reference
$api = new MyAPI($db);

// Use MyAPI to access user information
$user = $api->getUser(1);
اعتبارات إضافية:

تجنب توسيع المستخدم من قاعدة البيانات، لأنه ليس ضروريًا.
  • قم بإنشاء مثيل mysqli واحد مباشرةً وقم بتمريره إلى الفئات التي تحتاج إليه.
  • استخدم البيانات المعدة لتحسين الأمان والأداء.
  • تأكد من صحة معلمات اتصال قاعدة البيانات ومن أن قاعدة البيانات صحيحة يمكن الوصول إليه.
  • باتباع هذه الخطوات، يجب أن تكون قادرًا على استخدام MySQLi بنجاح من فئات مختلفة في PHP.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3