PHP入门(15)使用PDO操作MySQL数据库

PDO是什么?

PDO(PHP Data Object)提供了轻量级的访问PHP数据库的接口。PDO提供了数据访问的抽象层,这意味着无论使用什么数据库,都可以用同样的方法来操作数据库。

使用PDO之前必须要修改php.ini文件

保证以下两行前面的分号去掉

extension=php_pdo.dll
extension=php_pdo_mysql.dll
  1. 连接数据库
<?php
$dsn = "mysql:dbname=mydb;host=127.0.0.1";/*定义数据源的名称 DSN(data source name)*/
$user = "root";
$password = "123456";
try{
    $dbh = new PDO($dsn,$user,$password);
}catch(PDOException $e){ /*如果连接错误,会抛出PDOException异常*/
    echo "Connection failed!".$e->getMessage();
}

如何关闭连接?

$dbh = null;/*注意,与PDO对象有关的所有对象也应该关闭,即设置为null*/

如何设置数据库的持久连接?

$dbh = new PDO(‘odbc:SAMPLE‘, ‘db2inst1‘, ‘ibmdb2‘, 
      array(PDO::ATTR_PERSISTENT => true));/*不建议使用持久连接*/

2.执行sql语句

使用PDO对象的query()方法

$dbh = new PDO($dsn,$user,$password);
foreach($dbh->query("select * from test") as $row){/*执行查询语句*/
    echo $row["id"]."<br>";
}

如果需要其他sql语句,只需讲sql语句传递给query()方法执行即可。例如

$dbh->query("insert into test values(10000)");

3.提交事务与回滚事务

$dbh->beginTransaction(); /*开始一个事务*/
$dbh->exec("insert into test values(45)");
$dbh->commit();/*提交一个事务*/
$dbh->beginTransaction();
$dbh->exec("insert into test values(48)");
$dbh->rollBack();/*撤销一个事务 48没有被插入*/

4.预编译语句

使用预编译语句可以在执行的时候动态为sql语句绑定参数,这样做可以有两个好处

  1. sql语句只需要解析一次,就可以通过绑定不同的参数执行多次,节约系统资源。
  2. 有效的防止sql注入。
$stmt = $dbh->prepare("insert into test values(:id)");/*预编译语句*/
$stmt->bindParam(":id",$id);/*绑定参数*/
$id = 111;
$stmt->execute();/*执行*/
$stmt = $dbh->prepare("insert into test values(?)");/*预编译语句 也可以通过?作为占位符*/
$stmt->bindParam(1,$id);/*绑定参数*/
$id = 111;
$stmt->execute();/*执行*/

执行预编译的查询语句

$stmt = $dbh->prepare("select * from test where id=?");
$stmt->execute(array(111));/*参数必须是数组类型*/
while($row = $stmt->fetch()){/*取出结果*/
    print $row["id"];
}

注意,下面占位符的指定是无效的。

<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ‘%?%‘");/注意,占位符必须占据整个
值的位置/
$stmt->execute(array($_GET[‘name‘]));
/*下面的指定才是正确的*/
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));

关于PDO更多的用法,请自行查找PHP mannual.

时间: 2024-10-13 23:28:54

PHP入门(15)使用PDO操作MySQL数据库的相关文章

php类模块引擎PDO操作MySQL数据库简单阐述

PDO是什么呢? 通俗说就是别人写的一个“数据库操作工具类”,它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去“打开”对应的pdo引擎. 在php.ini的配置文件中,无非就是一个“模块”而已,我们只需要把分号删掉就表示开启!如下: 改为: 使用pdo连接mysql数据库 $dsn = "mysql:host=服务器地址/名称:port=端口号:dbname=数据库名"; $opt = array(PDO::MYSQL_ATTR_

PDO操作mysql数据库-01

<meta charset="utf-8" /> <?php /*1.什么是PDO---->PHP Data Object PDO扩展为PHP访问数据库定义了一个轻量级的.一致性的接口,它提供了一 个数据库访问抽象层,这样,无论使用什么数据库,都可以通过 一致的函数 执行查询和获取数据 2.PHP PDO配置 在PHP5系列版本中,PDO不是默认支持的,需要手工配置才可以使用. 打开 php.ini 文件,将 extension=php_pdo.dll exte

PDO连接mysql数据库

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的方式连接,mysql扩展将被作为辅助 2.PDO配置 PHP.ini中,去掉"extension=php_pdo.dll"前面

【php】php操作MySQL数据库

一.操作步骤: 1. 连接MySQL数据库并判断是否连接成功2. 选择数据库3. 设置字符集4. 准备SQL语句5. 向MySQL服务发送SQL语句6. 解析处理结果集7. 释放结果集,关闭数据库连接 二.常用操作: 1. mysqli_connect();--连接数据库,并返回一个连接资源 格式: mysql_connect(主机名,用户,密码); --其中参数可选,若不写则参考php.ini中默认配置 2. mysqli_error(); --获取刚刚(最后)执行数据库操作的错误信息 3.

本地通过Eclipse链接Hadoop操作Mysql数据库问题小结

前一段时间,在上一篇博文中描述了自己抽时间在构建的完全分布式Hadoop环境过程中遇到的一些问题以及构建成功后,通过Eclipse操作HDFS的时候遇到的一些问题,最近又想进一步学习学习Hadoop操作Mysql数据库的一些知识,在这里网上存在很多分歧,很多人可能会笑话,用那么“笨重”的Hadoop来操作数据库,脑子有问题吧,Hadoop的HDFS优势在于处理分布式文件系统,这种说法没有任何错误,数据库的操作讲究“安全.轻便.快捷”,用Hadoop操作完全是不符合常理啊,那为啥还要学习这个东西呢

mysqli扩展库操作mysql数据库

配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 1 <?php 2 //mysqli扩展库操作mysql数据库,面向对象 3 $mysqli=new MySQLi("localhost","root","root","test"); 4 if($mysqli->connect_

[PHP]PHP编程操作Mysql数据库的三种方式

当我开始去接触PHP的时候,真切的感受到其所具有的魅力,本着学习的态度和打破固有的语言和模式的想法,开始了PHP之旅,总的来说,走的还是比较顺利,在其中能够看到C,Java,Perl影子,学习曲线不大,但是做好产品仍然有着一条漫漫长路. 多余的话不说了,慢慢感受和领悟,本文主要讲述PHP操作数据库的三种扩展. 如下图是PHP访问数据库的三种扩展方式: 下面举出三种方式访问数据库并查询数据的实例代码: 1.mysql扩展 <?php //1:获取数据库连接 $connection = @ mysq

PHP PDO操作MYSQL

PHP PDO操作MYSQL 学习要点: 1.        PHP PDO配置 2.        连接mysql及异常处理 3.        query,exec用法详解 4.        预处理prepare()用法详解 5.        PDO错误处理模式和事务处理 6.        获取和遍历结果集 7.        常用函数说明   我的博客:http://www.unitbuy.com PDO配置 PHP 数据对象 (PDO) 扩展可以支持绝大多数的主流的数据库,如下 C

php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo   mysql扩展库与mysql数据库区别 ? php设计者封装了一些方法去操作mysql数据库,这些方法集中起来形成了mysql扩展库.mysql数据库存放数据.     2.使用php的MySQL扩展库操作MySQL数据库案例: (1)环境搭建:启用MySQL数据库,在php.ini文件中配置使用MySQL数据库,