PHP 连接 MySQL 可以很简单直接地 mysql_connect() 或 mysqli_connect(), 那么为什么是要 PDO? PDO 是功能更为强大的数据库 API, 即使将来要转换数据库系统, 只需更改连接的参数, 不需每个出现 mysql_* 函式的程式码都修改, 以往要做到这样, 通常是写一个简单的连接 MySQL class, 或者直接用 ADOdb 之类来做。
另一个优点是 PDO 会自动将用户的输入清理干净, 即防止 SQL Injection, 对于一些初学者不知道什么是 SQL Injection, 使用 PDO 就显得更加安全。而且在 PHP 5.5 已经没有了 mysql_* 函式, 所以用 PDO 是更好的选择。
PDO 连接 MySQL:
跟 mysql_connect() 及 mysqli_connect() 不同, 用 PDO 连接 MySQL 需要宣告数据库类型:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php try { $pdo = new PDO("mysql:host=localhost;dbname=db_name", "db_username", "db_password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ##### 印出 table_name 所有资料 $data = $pdo->query('SELECT * FROM table_name'); foreach($data as $row) { print_r($row); } } catch (PDOException $pe) { die("Could not connect to the database: " . $pe->getMessage()); } ?> |