Упреждающее извинение: сообщение содержит основные вопросы. Однако я искал и не нашел ответа, если есть один ... извините.Подключение к базе данных MySQL с PDO
Я следую некоторым учебникам по youtube для создания базового веб-чата ajax, а в учебнике человек использует MySQLi для подключения к БД. Я хочу создать одно и то же приложение для чата ajax, за исключением того, что я хочу использовать PDO вместо MySQLi.
Человек использует эти два файла:
config.php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'bucky_chat');
define('DB_PASSWORD', '123456');
define('DB_NAME', 'bucky_chat');
?>`
chat.class.php
<?php
require_once('config.php');
require_once('error_handler.php');
class Chat {
private $mysqli;
//constructor opens DB connection
function __construct(){
$this->mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
}
//destructor closes db connection
function __destruct(){
$this->mysqli->close();
}
}
?>
Я пытаюсь повторить вышеуказанные фрагменты с PDO. Проблема в том, что я не уверен, как адаптировать примеры PDO, на которые я смотрел, чтобы это сделать.
Прежде всего я смущен, почему он определил эти вещи в отдельном файле .. есть ли какие-либо преимущества в этом?
В другом PDO уроке я смотрю я вижу, это может быть сделано следующее образом:
<?php
$config['db'] = array(
'host' => 'localhost',
'username' => '',
'password' => '',
'dbname' => ''
);
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['db_name'], $config['db']['username'], $config['db']['password']);
//some code
$db = null; //closes connection
?>
`
Я думать это то, что мне нужно использовать (в попытке поймать блок), но почему он помещает эти вещи в массив? это, кажется, усложняет вещи ... почему не просто переменные? Но этот код реплицирует пример mysqli? Howcome Я не вижу, что __construct() используется с PDO?
Некоторые второстепенные вопросы ... При создании сайта с пользователем существует ли стандартное место для хранения соединения с БД? Есть рекомендации?
Извините за все эти вопросы, вся помощь посильно оценена!
проще перетащить один массив с кучей значений внутри него, а не кучу отдельных переменных. –