Hel*_*mut 12 php mysql database pdo database-connection
从现在开始我一直在使用旧的mysql而不是PDO我已经看到许多建议为什么要切换到PDO,但也有许多不同的事实(也在这里SO),例如:
PDO稍快/稍微慢一些PDO有助于防止SQL注入,但仅限于您使用准备好的查询那么,究竟是什么呢?特别是,使用时的最佳实践是什么PDO,速度和安全性都很重要 - 如何在保持快速查询的同时最好地保护自己免受SQL注入攻击?
abh*_*kdz 20
PDO优于MySQL的核心优势在于其数据库驱动程序支持.PDO支持许多不同的驱动程序,如CUBRID,MS SQL Server,Firebird/Interbase,IBM,MySQL等.
只要开发人员按照预期的方式使用它们,这两个库都提供SQL注入安全性.建议将预准备语句与绑定查询一起使用.
// PDO, prepared statement
$pdo->prepare('SELECT * FROM users WHERE username = :username');
$pdo->execute(array(':username' => $_GET['username']));
// mysqli, prepared statements
$query = $mysqli->prepare('SELECT * FROM users WHERE username = ?');
$query->bind_param('s', $_GET['username']);
$query->execute();
Run Code Online (Sandbox Code Playgroud)
虽然PDO和MySQL都非常快,但MySQL在基准测试中的表现速度要快得多 - 非准备语句约为2.5%,准备语句约为6.5%.
就像@DaveRandom指出的那样,这是PDO的另一个特性,它比可怕的数字绑定要容易得多.
$params = array(':username' => 'test', ':email' => $mail, ':last_login' => time() - 3600);
$pdo->prepare('
SELECT * FROM users
WHERE username = :username
AND email = :email
AND last_login > :last_login');
$pdo->execute($params);
Run Code Online (Sandbox Code Playgroud)

很少有链接可供进一步参考
MySQL vs PDO(Stackoverflow)
为什么你应该使用PDO进行数据库访问(net.tutsplus.com)
| 归档时间: |
|
| 查看次数: |
3602 次 |
| 最近记录: |