Ранее вообще не работал с базами данных т.к. параноидален касаемо возможных взломов и т.п., но тут решил начать изучение, а т.к. первое, что нужно сделать, так это подключиться к БД, возник вопрос об актуальном правильном подключении, нашел код, который был назван как "правильное подключение" PHP: $host = '127.0.0.1'; $db = 'test'; $user = 'root'; $pass = ''; $charset = 'utf8'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $pdo = new PDO($dsn, $user, $pass, $opt); И тут я наткнулся на то, что : PHP: PDO::ATTR_EMULATE_PREPARES => false Не везде встречается, да и в одном месте прочитал, что как раз PDO::ATTR_EMULATE_PREPARES => false, именно в false, заставлял скрипт работать в 2 раза дольше. Отсюда вопрос, нужна ли эта сторока вообще или нет?
@AlexandrS, документацию по PDO не пробовал читать? EMULATE_PREPARES false заставляет PDO использовать настоящие подготовленные запросы, которые реализованы на уровне самой БД, если true - то он сам занимается подготовкой запросов, экранируя данные с помощью PDO::quote, если у кого-то значение этого флага замедляло выполнение в два раза, он криво написал код, вот и всё. Вообще, я не знаю, что такое "правильное подключение"... Надо понимать, что и почему ты делаешь, а не юзать чужие снипеты. В доке всё нормальным русским языком написано. https://secure.php.net/manual/ru/book.pdo.php --- Добавлено --- https://secure.php.net/manual/ru/pdo.drivers.php