Как правильно организовать логику подключения к базе (обучающий пример)
Я обучаюсь php. Мне необходимо понять некоторые моменты. 1.Подключение к базе можно оставлять открытым всегда или можно отключение и подключение к базе вызывать по событию (при клике на кнопку к примеру или при записи поля в базу)?
<?php
//подключение к Мускул объекто=ориентированный
$servername = "localhost";// имя сервера
$username = "polet";// имя юзера к базе
$password = "polet123";// пароль к базе
$dbname = "test"; // база имя
// Создать соединение
$conn = new mysqli($servername, $username, $password , $dbname); // в переменную comm помещаем переменные из мускул и далее работаем с ней
// Проверяем подключение
if ($conn->connect_error) {
die("Ошибка " . $conn->connect_error);// выводим сообзение об ошибке и саму ошибку
}
echo "Успешно подключились к базе";//успешно
// sql запрос для создания таблицы имя фамилия почта дата регистр
// типы данных для запроса https://html5css.ru/sql/sql_datatypes.php
//не забываем про имя базы
$sql = "CREATE TABLE test(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Таблицы созданы";//таблицы созданы
} else {
echo "Ошибка " . $conn->error;//ощибка
}
//Отключаемся от базы
$conn->close();
?>
Ответы (1 шт):
Автор решения: Jour
→ Ссылка
<?php
// Простой способ сделать глобально доступным подключение в БД
function pdo(): PDO
{
static $pdo;
if (!$pdo) {
$config = include __DIR__.'/config.php';
// Подключение к БД
$dsn = 'mysql:dbname='.$config['db_name'].';host='.$config['db_host'];
$pdo = new PDO($dsn, $config['db_user'], $config['db_pass']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
return $pdo;
}
https://habr.com/ru/post/665602/ Можно примерно так организовать