初识PHP(四)PDO对象配置于使用

1、PDO的概念php

  PDO其实就是一个数据库的抽象层,使用PDO编程能够方便的在以后的实际运营中随时更改数据库而不用变动源代码。PDO的位置以下图所示:mysql

2、PDO的开启linux

  PDO须要使用php 5.1 以后的版本。sql

  查看是否开启pdo功能须要新建一个php文件,使用phpinfo函数查询数据库

  

  如图,PDO驱动和pdo_mysql扩展均开启(enabled)编程

  linux:ubuntu

  个人系统是ubuntu14.04.3,php版本是PHP 5.5.9-1ubuntu4.14 ,在我这里pdo扩展默认是开着的(在后期的php版本中pdo已是核心功能,不须要再自行安装了,网上的教程都是针对以前的php版本的),并且php的mysql扩展也是默认开着的,不知道这是否是由于我用的是ubuntu版的php。若是mysql扩展没开的话也只需执行sudo apt-get install php5-mysql 安装驱动便可,别的数据库也是这样操做。windows

  win:在php.ini文件中,把如下两行注释去掉ide

  extension=php_pdo.dll     //PDO驱动程序共享扩展必须有 (windows)函数

  extension=php_pdo_mysql.dll   //MySQL扩展 

  若是要开启别的数据库扩展去掉相应的注释便可

 

3、PDO的使用

  3.1 PDO对象初始化

  PDO的构造函数以下:

    PDO __construct( string dsn 

      [, string username   

      [, string password 

      [, array driver_options]]] ); 

   dsn数据库链接信息如“mysql:host=localhost;dbname=库名” 

  下面举个栗子:

  $pdo = new PDO("mysql:host=localhost;dbname=phptest","root","123");

  这就完成了PDO对象的初始化,所链接的数据库是mysql数据库的phptest这个数据库,使用的用户名和密码分别是root和123

  若是把dsn信息写到配置文件中,则使用以下方式:

  $pdo = new PDO("uri:MysqlDbo.ini","root","123");  \\dsn数据写在MysqlDbo.ini文件中

  

  3.2 PDO对象的使用

  PDO的成员方法以下:

  1 ) query($sql);      //用于执行查询SQL语句。返回PDOStatement对象     

  2 ) exec($sql);          //用于执行增、删、改操做,返回影响行数;     

  3 ) setAttribute();     //设置一个"数据库链接对象"属性。         

  4 ) fetchAll();        //解析数据

 

  下面举例:  

   数据库原始数据以下:

  

查询数据:

 1 <?php
 2     //链接数据库
 3     try {
 4         $pdo = new PDO("mysql:host=localhost;dbname=phptest", "root", "20125202");
 5     }
 6     catch (PDOException $e){
 7         die("数据库链接失败".$e->getMessage());
 8     }
 9     //查询语句
10     $sql = 'select * from students';
11     //执行语句、解析数据
12     echo '  id  '.'____________'.'name'.'____________'.'sex'."<br>";
13     foreach ($pdo->query($sql) as $val){
14         echo $val['id'].'____________'.$val['name'].'____________'.$val['sex']."<br>";
15     }
16 ?>

 

效果如图:

 

插入数据:

 1 <?php
 2     //链接数据库
 3     try {
 4         $pdo = new PDO("mysql:host=localhost;dbname=phptest", "root", "123");
 5     }
 6     catch (PDOException $e){
 7         die("数据库链接失败".$e->getMessage());
 8     }
 9     //插入语句
10     $sql = "insert into students values('20125203','tony','female')";
11     //执行语句、解析数据
12     $res = $pdo->exec($sql);
13     if ($res){
14         echo "插入成功!</br>";
15     }
16     //查询结果
17     $sql = 'select * from students';
18     echo '  id  '.'____________'.'name'.'____________'.'sex'."<br>";
19     foreach ($pdo->query($sql) as $val){
20         echo $val['id'].'____________'.$val['name'].'____________'.$val['sex']."<br>";
21     }
22 ?>

效果如图:

修改于删除数据操做相似

修改数据:

 1 <?php
 2     //链接数据库
 3     try {
 4         $pdo = new PDO("mysql:host=localhost;dbname=phptest", "root", "123");
 5     }
 6     catch (PDOException $e){
 7         die("数据库链接失败".$e->getMessage());
 8     }
 9     //插入语句
10     //$sql = "insert into students values('20125203','tony','female')";
11     //修改语句
12     $sql = "update students set sex='male' where id='20125203'";
13     //执行语句、解析数据
14     $res = $pdo->exec($sql);
15     if ($res){
16         echo "修改为功!</br>";
17     }
18     //查询结果
19     $sql = 'select * from students';
20     echo '  id  '.'____________'.'name'.'____________'.'sex'."<br>";
21     foreach ($pdo->query($sql) as $val){
22         echo $val['id'].'____________'.$val['name'].'____________'.$val['sex']."<br>";
23     }
24 ?>
修改数据

效果如图:

删除数据:

 1 <?php
 2     //链接数据库
 3     try {
 4         $pdo = new PDO("mysql:host=localhost;dbname=phptest", "root", "20125202");
 5     }
 6     catch (PDOException $e){
 7         die("数据库链接失败".$e->getMessage());
 8     }
 9     //插入语句
10     //$sql = "insert into students values('20125203','tony','female')";
11     //修改语句
12     //$sql = "update students set sex='male' where id='20125203'";
13     //删除语句
14     $sql = "delete from students where id='20125203'";
15     //执行语句、解析数据
16     $res = $pdo->exec($sql);
17     if ($res){
18         echo "删除成功!</br>";
19     }
20     //查询结果
21     $sql = 'select * from students';
22     echo '  id  '.'____________'.'name'.'____________'.'sex'."<br>";
23     foreach ($pdo->query($sql) as $val){
24         echo $val['id'].'____________'.$val['name'].'____________'.$val['sex']."<br>";
25     }
26 ?>
删除数据

效果如图:

以上就是PDO的基本使用方法与增删查改等操做。

相关文章
相关标签/搜索