«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как разделить соединение MySQLi между разными классами в PHP?

Как разделить соединение MySQLi между разными классами в PHP?

Опубликовано 2 ноября 2024 г.
Просматривать:645

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

Использование MySQLi в классах: руководство по устранению неполадок

Использование MySQLi из разных классов может быть сложной задачей, но не волнуйтесь. Давайте углубимся в проблемы, с которыми вы столкнулись, и предложим решение.

Проблема: Внутренняя ошибка сервера 500

  • Причина: Попытка чтобы получить доступ к свойству conn объекта базы данных после его создания в другом классе (MyAPI).

Решение: Инициализируйте объект базы данных в конструкторе MyAPI и передайте его как параметр для других функций, требующих подключения к базе данных. Это гарантирует, что все классы, использующие соединение, имеют прямую ссылку на один и тот же экземпляр.

Пример:

// 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