数据库抽象层 PDO
数据库抽象层 PDO
因为这段时间工作比较忙 所以很长时间没有更新技术博客了。 在这段时间学习到了很多以前没有接触过的东西。下面就来介绍一下数据库抽象层PDO的使用:
PDO(PHP Data Objects)是一个轻量级的PHP扩展,提供了一个数据访问抽象层。还要就是PDO只能在PHP5.0以上版本使用。
下面来介绍一下PDO常用的预定义常量:
PDO:ARAM_BOOL (integer) 表示布尔数据类型
PDO:ARAM_NULL (integer) 表示数据类型为NULL的SQL
PDO:ARAM_INT (integer) 表示为integer数据类型的SQL
PDO:ARAM_STR (integer) 表示为char varchar 或者其他字符串的数据类型的SQL
PDO:ARAM_LOB (integer) 表示对象数据类型的SQL
PDO::FETCH_LAZY (integer) 指定的获取方式,应当返回结果集的每一行作为一个对象的变量名,对应于它的字段名
PDO::FETCH_ORI_NEXT (integer) 取结果集的下一行
PDO::FETCH_ORI_PRIOR (integer) 取结果集的前面的行
PDO::FETCH_ORI_FIRST (integer) 取结果集的第一行
PDO::FETCH_ORI_LAST (integer) 取结果集的最后一行
PDO::ATTR_PERSISTENT (integer) 创建一个持久连接,而不是新创建一个连接
PDO的基本用法:
使用PDO与数据库连接(这里只使用MySQL):
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
下面的代码是对MySQL连接错误时的处理:
- 1 <?php
- 2 try {
- 3$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
- 4 foreach($dbh->query('SELECT * from FOO') as $row) {
- 5 print_r($row);
- 6 }
- 7 $dbh = null;
- 8 } catch (PDOException $e) {
- 9 print "Error!: " . $e->getMessage() . "<br/>";
- 10 die();
- 11 }
- 12 ?>
复制代码下面是两个重复使用插入语句的例子:
- <?php
- $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
- $stmt->bindParam(':name', $name);$stmt->bindParam(':value', $value);// insert one row$name = 'one';
- $value = 1;$stmt->execute();// insert another row with different values$name = 'two';
- $value = 2;
- $stmt->execute();
- ?>
复制代码
- <?php
- $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
- $stmt->bindParam(1, $name);
- $stmt->bindParam(2, $value);// insert one row$name = 'one';
- $value = 1;$stmt->execute();// insert another row with different values$name = 'two';
- $value = 2;
- $stmt->execute();
- ?>
复制代码对数据库进行查询操作:
- <?php
- $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
- if ($stmt->execute(array($_GET['name']))) {
- while ($row = $stmt->fetch()) {
- print_r($row);
- }}?>
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
学习了,明天接着学。
东西太多了,一下子看不过来
这帖子很不错哦-----顶君一下!!!!!!!!!
深圳进口报关
http://www.chinahq-import.com/