Прямо сейчас, каждый раз, когда мне нужно запускать запрос, я вызываю функцию с именем connection()
, которая создает новый объект PDO.Как я могу хранить объекты PDO
function connection(){
$host = 'localhost';
$user = 'user';
$pass = 'password';
$dbName = 'db_name';
new PDO("mysql:host=$host; dbname=$dbName", $user, $pass);
}
$db = connection();
$query = 'SELECT ...';
$stmt = $db->prepare($query);
$stmt->execute();
Проблема заключается в веб-сайт занимает ровно 1 секунду, чтобы создать этот объект и, как вы можете изображения, если мне нужно запустить 4 запросов на странице будет загружаться за 4 секунды. Итак, есть ли способ сохранить этот объект PDO для оптимизации производительности?
Я использую эту функцию в нескольких файлах, поэтому мне это нужно.
Хранить его в переменной и передать его вокруг? – frz3993
Ваш запрос работает? Потому что я думаю, что '$ db' имеет значение null ... – fusion3k
Вы используете MVC? Создайте его внутри метода '__construct()' как переменную класса внутри вашей модели и ссылайтесь на нее оттуда. Если вы не используете MVC, храните фактическую переменную '$ db' в начале вашего кода и ссылайтесь на нее в другом коде. Кроме того, функция 'connection' не возвращает ваш новый объект PDO. Мне интересно, если это работает прямо сейчас? –