将 PDO 视为与 PHP 一起打包的内置类,使您可以更轻松地与数据库进行交互。在开发 PHP 应用程序时,您需要处理很多事情,例如建立连接、创建查询、获取结果、将资源转换为数组、使用以下命令逃避 MySQL 注入mysql_real_escape_string()
现在有很多事情需要处理,至少但不是最后考虑一下您想要从 mysql 跳转到 mysqli 或 MSSQL 的情况,因为您需要遍历每个函数并将每一行代码更改为适合需要。 PDO 通过提供一个集中类来消除所有这些问题。
要详细说明,请看下面的代码。
使用 PDO 建立与 MySQL 的连接:
$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);
Now $user
将以关联数组的形式获取所有值。
要将值插入数据库,您需要执行以下操作。
$sth = $dbh->prepare('INSERT INTO users(name,email) VALUES(:name, :email)');
$sth->bindParam(':name', 'My Name');
$sth->bindParam(':email', '[email protected] /cdn-cgi/l/email-protection');
$sth->execute();
上面的代码使用命名占位符,这样 PDO 可以让您免受许多漏洞的影响,因为它可以让您远离 MySQL 注入。为了帮助您入门,请查看 netttus 的本教程,他们解释得非常好,本文将解释您关于 PDO 的所有困境
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/