PHP pdo使用总结
来源:互联网 发布:linux vi编辑器例题 编辑:程序博客网 时间:2024/04/28 12:34
pdo使用总结
- PDO 简介
- 初始化连接数据库和简单操作
- PDO常用方法
- 预处理
一、pdo简介
PDO是PHP访问数据库的一个轻量级、一致性的接口,实现PDO接口使php无论使用什么数据库,都可以通过一致的函数执行CRUD操作数据库。
二、初始化连接数据库和简单操作
try { //mysql:host=127.0.0.1;dbname=test 数据库类型mysql,主机地址127.0.0.1,数据库名称test //用户名root 密码'' 设置字符编码为utf8 $db = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8")); //查询 $rows = $db->query('SELECT * from members')->fetchAll(PDO::FETCH_ASSOC); $rs = array(); foreach($rows as $row) { $rs[] = $row; } //结束连接对象 $db = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); }
查询后结果返回的类型:
PDO::FETCH_ASSOC – 关联数组形式
PDO::FETCH_NUM – 数字索引数组形式
PDO::FETCH_BOTH – 两者数组形式都有,这是缺省的
PDO::FETCH_OBJ – 按照对象的形式,类似于以前的 mysql_fetch_object()
三、PDO常用方法
PDO::query() 主要用于有记录结果返回的操作,特别是select操作。PDO::exec()主要是针对没有结果集合返回的操作。如insert,update等操作。返回影响行数。PDO::lastInsertId()返回上次插入操作最后一条ID注意:如果用insert into tb(col1,col2)values(v1,v2),(v11,v22)..的方式一次插入多条记录,lastinsertid()返回的只是第一条(v1,v2)插入时的ID,而不是最后一条记录插入的记录ID。PDOStatement::fetch()是用来获取一条记录。配合while来遍历。PDOStatement::fetchAll()是获取所有记录集到一个中。PDOStatement::fetchcolumn([intcolumn_indexnum])用于直接访问列,参数column_indexnum是该列在行中的从0开始索引值,但是,这个方法一次只能取得同一行的一列,只要执行一次,就跳到下一行。因此,用于直接访问某一列时较好用,但要遍历多列就用不上。PDOStatement::rowcount()适用于当用query("select...")方法时,获取记录的条数。也可以用于预处理中。$stmt->rowcount();PDOStatement::columncount()适用于当用query("select...")方法时,获取记录的列数。
四、预处理
pdo的预处理有什么好处呢,为什么不直接用exec和query方法。举个栗子:
delete from table where id = $_GET['id'];
exec和query是直接把整句sql语句进行编译运行,假如用户输入
delete from table where id = 1 or 1=1;
这样就会有sql注入的危险,而使用pdo的execute预处理就不会出现这个问题
使用占位符处理:
- ? 按顺序使用
:name 按名称使用,与顺序无关
$sql = delete from table where id = ?;//id=:id$stmt = $pdo->prepare($sql);$stmt->execute(array(1));//array(':id'=>1)$stmt->rowCount();//返回影响行数
0 0
- PHP pdo使用总结
- PHP数据库拓展之PDO使用总结
- php pdo 用法总结
- PHP PDO总结
- php pdo类总结
- [PHP]PDO的使用
- PHP 中使用 PDO
- php mysql PDO使用
- PHP PDO的使用
- php mysql PDO使用
- PHP 中使用 PDO
- PHP 中使用 PDO
- php mysql PDO使用
- php mysql PDO使用
- PHP PDO 使用详解
- PHP PDO的使用
- PHP PDO配置和使用
- 【转】 PDO使用归纳【PHP】
- vim命令
- opencv 基本数据结构
- iOS怎样做版本更新,获取Appstore上的版本号和项目中的版本号
- Linux文件系统简介
- securecrt学习之(一)常用快捷方式
- PHP pdo使用总结
- ioctl()函数详解
- get 请求乱码处理 (随时拿来用)
- 开源大数据处理工具汇总(上)
- 关于游客账户创建的问题
- iOS中使用UITextView时候的一些小技巧
- 我这里有语法糖噢。叔叔,我们不约
- JBPM4.4工作流引擎学习(四)--流程资源RepositoryService
- Cadence基础知识5(allegro中如何添加安装孔(注:在PCB图纸中添加) )