Работа на веб-сайте PHP, и я столкнулся с проблемой эффективности, которую я не могу решить самостоятельно.Правильный способ иметь несколько функций php для запроса одной (mysql) базы данных
У меня есть несколько отдельных файлов PHP:
- connection.php - подключается к базе данных.
- sqlFunctions.php - пара функций, которые выполняют разные запросы sql (mysqli), обрабатывают данные и возвращают их.
- index.php - файл, который выполняет некоторые функции из sqlFunctions.php и использует возвращаемые значения для отображения чего-либо на странице.
connection.php:
$servername = "DATA"; //Replaced to "DATA" for posting on stackoverflow
$username = "DATA";
$password = "DATA";
$dbname = "DATA";
$con = new mysqli($servername, $username, $password, $dbname);
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
sqlFunctions.php:
<?php
function query1(){
require('connection.php');
//PDO Query to DB, fetch, store, modify data etc.
mysqli_close($con);
//Return modified data
}
function query2(){
require('connection.php');
//PDO Query to DB, fetch, store, modify some other data etc.
mysqli_close($con);
//Return modified data
}
?>
index.php:
//Simplified version
require('sqlFunctions.php');
<?php echo query1();?>
Итак, я думал - инициирование нового соединения с db при каждом вызове функции - не очень хорошая идея. И если бы я инициировал соединение с db в функции в sqlFunctions.php - мне нужно было бы передать другую переменную/ссылку/указатель (вы знаете, что я имею в виду) для каждой отдельной функции в этом файле, и это то, что Я не хочу этого делать.
Итак, каков наилучший подход к достижению того, что мне нужно?
TL; DR ;:
- Основной файл вызывает функцию в отдельном файле
- Эта функция выполняет запрос и возвращает данных SQL
- Возвращается данные отображаются
- Без открытия/закрытие соединения db при каждом вызове функции.
Пища для размышления: https://www.youtube.com/watch?v=3_alwb6Twiw – mickmackusa