一帖让PHP小白彻底了解PDO操作数据库的方法

php与mysql的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) 。在这三种方法中,“民间”很多是倾向于使用PDO,因为其不担有跨库(可以和各个数据库连接和处理)的优点,更有读写速度快的特点。 PDO不仅能防止了sql注入问题,同时是面向对象的,所以不管操作还是使用都是挺方便的!今天分享下PHP5中使用PDO操作数据库的方法!

1.PDO简介

PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。 PHP6中也将默认使用PDO的方式连接。

2.PDO配置

PHP.ini中,去掉"extension=php_pdo.dll"前面的";"号,若要连接数据库,还需要去掉与PDO相关的数据库扩展前面的";"号,然后重启Apache服务器即可。

extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_firebird.dll
......

3.PDO连接mysql数据库

new PDO("mysql:host=localhost;dbname=db_demo","root",""); 默认不是长连接,若要使用数据库长连接,需要在最后加如下参数:
new PDO("mysql:host=localhost;dbname=db_demo","root","","array(PDO::ATTR_PERSISTENT => true) ");

4.PDO常用方法及其应用

PDO::query() 主要是用于有记录结果返回的操作,特别是SELECT操作
PDO::exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID
PDOStatement::fetch() 是用来获取一条记录
PDOStatement::fetchAll() 是获取所有记录集到一个中

5.PDO操作MYSQL数据库实例

 exec("insert into db_demo(name,content)           values('title','content')")){ 
    echo "插入成功!"; 
    echo $pdo -> lastinsertid(); 
} 
?>

~

 query("select * from test"); 
while($row = $rs -> fetch()){ 
    print_r($row); 
} 
?>

转自:http://bbs.itheima.com/forum.php?mod=viewthread&tid=329982&extra=page%3D2

你可能感兴趣的