Рассматривайте PDO как встроенный класс, поставляемый в комплекте с PHP, чтобы вам было очень легко взаимодействовать с вашей базой данных. при разработке PHP-приложения вам нужно позаботиться о многих вещах, таких как установление соединения, создание запроса, извлечение ресурса преобразования результата в массив, экранирование MySQL Injection с использованием mysql_real_escape_string()
, теперь нужно многое позаботиться по крайней мере, но не в последнюю очередь рассмотрим ситуацию, когда вы хотите перейти с mysql на mysqli или MSSQL, для чего вам нужно пройти через каждую функцию и изменить каждую строку кода в соответствии с необходимостью. PDO устраняет все эти проблемы, предоставляя один централизованный класс.
Для уточнения взгляните на код ниже.
для установления соединения с MySQL с помощью PDO:
$dbh = new PDO('mysql:host='.HOST.';dbname='.DATABASE,USERNAME,PASSWORD);
вот и все, соединение установлено, и вы можете повторно использовать $ dbh для выполнения запросов, например, чтобы получить результат от пользователя таблицы, вам просто нужно две строки кода.
$sth = $dbh->query('SELECT id,name,email FROM users');
$user = $sth->fetch(PDO::FETCH_ASSOC);
Теперь $user
будет иметь все значения, извлеченные в виде ассоциативного массива.
Чтобы вставить значение в базу данных, вам нужно сделать следующее.
$sth = $dbh->prepare('INSERT INTO users(name,email) VALUES(:name, :email)');
$sth->bindParam(':name', 'My Name');
$sth->bindParam(':email', 'email@email.com');
$sth->execute();
Приведенный выше код использует именованный заполнитель, таким образом, PDO защитит вас от многих уязвимостей, поскольку он защитит вас от MySQL Injection. Чтобы начать, посмотрите на этот учебник Netttus, они очень хорошо объяснили его, эта статья объяснит все ваши дилеммы, касающиеся PDO
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/