最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

PDO方式连接数据库、PHP连接数据库

XAMPP新闻 admin 56浏览 0评论

1.什么是PDO?

PDO是PHP Date Object(PHP数据对象)的简称,它是与PHP 5.1版本一起发行的。

目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。

有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO的DSN(数据源名称)。

在PHP 6中将默认使用PDO连接数据库,所有非PDO扩展将会在PHP 6中被移除。该扩展提供PHP内置类PDO来对数据库进行访问,不同数据库使用相同的方法名,以解决数据库连接不统一的问题。

2.PDO的作用与特点

统一各种数据库的访问接口

PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mssql函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。

e000026

3.PDO的启用

PDO是与PHP 5.1一起发行的,默认包含在PHP 5.1中。

由于PDO需要PHP 5.0核心面向对象特性的支持,因此其无法在PHP 5.0之前的版本中使用。

默认情况下,PDO在PHP 5.2中为开启状态,但是要启用对某个数据库驱动程序的支持,仍需要进行相应的配置操作。

  • 在Windows环境下,PDO在php.ini文件中进行配置,如果想支持某个特定数据库,只需要把php.ini 文件里边所对应的 ;号 去掉即可。

    我们先找到php.ini 配置文件,然后进入

  • 搜索 pdo_
    可以看到我们这里只打开了 mysql和sqlite。注意:开启过后需要重启Apache

e0000026

我们可以使用 phpinfo() 函数来查看是否开启。

e00000026

可以看到我们成功开启!

e000000026

4.通过PDO连接数据库

 PDO的构造函数

在PDO中,要建立与数据库的连接需要实例化PDO的构造函数,PDO构造函数的语法如下:

__construct(string $dsn[,string $username[,string $password[,array $driver_options]]])

  • dsn:数据源名,包括主机名、端口号和数据库名称。
  • username:连接数据库的用户名。
  • password:连接数据库的密码。
  • driver_options:连接数据库的其他选项。
    格式:mysql,db_databvase17,127.0.0.1,root,123456

实例:

$dbms='mysql';//数据库类型
$host='127.0.0.1';//数据库主机名 也可以是127.0.0.1
$dbName='db_database17';//使用的数据库名称
$user='root';//用户名
$pass='123456';//对应的密码
$dsn="$dbms:dbname=$dbName;host=$host";
 $conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn

构造函数用于构造PDO对象,有了这个对象,我们我就可以使用里边的方法来访问数据库。

1).exec()方法 返回执行后受影响的行数

exec()方法返回执行后受影响的行数,:
通常用于 INSERT、DELETE和UPDATE语句中。
实例:

try{
    $conn= new PDO($dsn,$user,$pass);//初始化一个PDO对象,就是创建了连接数据库的对象 $conn
    $query="insert into tb_pdo_mysql(pdo_type,database_name,dates)values('".$_POST['pdo']."','".$_POST['databases']."','".$_POST['dates']."')";
    $result=$conn->exec($query);
    echo "数据添加成功,受影响的行数为:".$result;                            
} catch (PDOException $e){
    die ("Error!:".$e->getMessage().'<br/>');
}

2).query()方法 用于返回执行查询后的结果集

query()方法用于返回执行查询后的结果集:
实例:

try{
    $pdo = new PDO($dsn,$user,$pass);
    $sql = 'select * from tb_pdo_mysql';
    $result = $pdo->query($sql);

    foreach ($result as $row) {
        echo "<tr align='center'>"."<td>".$row['id']."</td>";
        echo "<td>".$row['pdo_type']."</td>";
        echo "<td>".$row['database_name']."</td>";
        echo "<td>".$row['dates']."</td>"."</tr>";
    }

} catch (PDOException $e){
    die ("Error!:".$e->getMessage().'<br/>');
}

简单分享快乐学习,如有错误请多包涵!

转载请注明:XAMPP中文组官网 » PDO方式连接数据库、PHP连接数据库