PHP 5.1 发布时将附带一个全新的数据库连接层,即 PHP Data Objects (PDO)。虽然 PHP 一直都拥有很好的数据库连接,但 PDO 让 PHP的数据库操作 达到一个新的高度。PDO可支持基本的MySQL、Microsoft SQL Server、Oracle等数据库,并且提供了统一的操作方法,高度集成了数据库操作。PDO的使用较好的解决项目开发过程中可能存在的数据库更换问题。
PDO对数据库的操作方法如增删改查,进行了统一整合,但对原始的数据库语句存在的差异,并不能完美的解决,比如MySQL的 limit 来查询第 m 行到第 n 行的记录使用 (select * from 表名 limit m, n),而Microsoft SQL Server则需要使用top命令的组合等。
此外,使用PDO的预处理函数prepare(),能很好的解决SQL注入问题。
支持的数据库集合:
打开/连接数据库:
1 <?php 2 //error_reporting("E_ALL & ~ E_NOTICE"); 3 echo '<meta charset="utf-8">';//解决乱码问题 4 $conn=false; 5 //地址 6 $db_server = 'localhost'; 7 //端口 8 $db_port = '3306'; 9 //数据库 10 $db_name = 'dbdong'; 11 //用户 12 $db_user = 'root'; 13 //密码 14 $db_password = 'root'; 15 //连接的dsn,每个数据库都存在差异 16 $dsn = "mysql:host=$db_server;port=$db_port;dbname=$db_name"; 17 try { 18 //连接数据库 参数四(持久连接):array(PDO::ATTR_PERSISTENT => true) 19 $conn = new PDO($dsn, $db_user, $db_password); 20 //设置字符集 21 $conn->query("set names utf8"); 22 23 echo "连接数据库成功"; 24 25 } catch (PDOException $ex) { 26 exit("不能连接数据库".$ex); 27 }