源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php数据库抽象层 PDO

  • 时间:2022-02-04 03:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php数据库抽象层 PDO
下面就来介绍一下数据库抽象层PDO的使用: PDO([i]PHP Data Objects[/i])是一个轻量级的PHP扩展,提供了一个数据访问抽象层。还要就是PDO只能在PHP5.0以上版本使用。 下面来介绍一下PDO常用的预定义常量: [b]PDO::PARAM_BOOL[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])    表示布尔数据类型 [b]PDO::PARAM_NULL[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])    表示数据类型为NULL的SQL [b]PDO::PARAM_INT[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])      表示为integer数据类型的SQL [b]PDO::PARAM_STR[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])      表示为char varchar 或者其他字符串的数据类型的SQL [b]PDO::PARAM_LOB[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])      表示对象数据类型的SQL [b]PDO::FETCH_LAZY[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])    指定的获取方式,应当返回结果集的每一行作为一个对象的变量名,对应于它的字段名 [b]PDO::FETCH_ORI_NEXT[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url]) 取结果集的下一行 [b]PDO::FETCH_ORI_PRIOR[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url]取结果集的前面的行 [b]PDO::FETCH_ORI_FIRST[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url]取结果集的第一行 [b]PDO::FETCH_ORI_LAST[/b] ([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url]) 取结果集的最后一行 [b]PDO::ATTR_PERSISTENT [/b]([url=http://www.php.net/manual/zh/language.types.integer.php]integer[/url])   创建一个持久连接,而不是新创建一个连接 PDO的基本用法: 使用PDO与数据库连接(这里只使用MySQL):
[u]复制代码[/u] 代码如下:
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>
下面的代码是对MySQL连接错误时的处理:
[u]复制代码[/u] 代码如下:
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
下面是两个重复使用插入语句的例子:
[u]复制代码[/u] 代码如下:
<?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(); ?>
[u]复制代码[/u] 代码如下:
<?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(); ?>
对数据库进行查询操作:
[u]复制代码[/u] 代码如下:
<?php $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); if ($stmt->execute(array($_GET['name']))) { while ($row = $stmt->fetch()) { print_r($row); } } ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部