下面就来介绍一下数据库抽象层PDO的使用:
PDO(PHP Data Objects)是一个轻量级的PHP扩展,提供了一个数据访问抽象层。还要就是PDO只能在PHP5.0以上版本使用。
下面来介绍一下PDO常用的预定义常量:
PDO::PARAM_BOOL() 表示布尔数据类型
PDO::PARAM_NULL() 表示数据类型为NULL的SQL
PDO::PARAM_INT() 表示为integer数据类型的SQL
PDO::PARAM_STR() 表示为char varchar 或者其他字符串的数据类型的SQL
PDO::PARAM_LOB() 表示对象数据类型的SQL
PDO::FETCH_LAZY() 指定的获取方式,应当返回结果集的每一行作为一个对象的变量名,对应于它的字段名
PDO::FETCH_ORI_NEXT() 取结果集的下一行
PDO::FETCH_ORI_PRIOR()取结果集的前面的行
PDO::FETCH_ORI_FIRST()取结果集的第一行
PDO::FETCH_ORI_LAST() 取结果集的最后一行
PDO::ATTR_PERSISTENT() 创建一个持久连接,而不是新创建一个连接
代码如下: $dbh = new PDO('mysql:host=localhost;dbname=test',$user,$pass); ?>
下面的代码是对MySQL连接错误时的处理:
代码如下: try { $dbh = new PDO('mysql:host=localhost;dbname=test',$pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . " "; die(); } ?>
下面是两个重复使用插入语句的例子:
代码如下: $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(); ?>
代码如下: $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(); ?>
对数据库进行查询操作:
代码如下: $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); if ($stmt->execute(array($_GET['name']))) { while ($row = $stmt->fetch()) { print_r($row); } } ?>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|