博客列表 >pdo方法的使用

pdo方法的使用

dongfeng的博客
dongfeng的博客原创
2019年02月23日 11:46:10989浏览

作业



1. PDO连接数据库的过程与参数设置

2. 如果创建PDO预处理对象: prepare()方法

3. bindParam()与bindValue()

4. execute()直接传参

5. fetch() 和 fetchAll()的区别与联系

6. bindColumn()的功能

pdo的环境

在windows环境下,在php.ini在中加载 extension=php_pdo.dll  对mysql 加载extension=php_pdo_mysql.dll;

链接数据库就是创建pdo对象

__construct()

$dbms='mysql';

$dbName='Db_aaa';

$usr='root';

$passWord='root';

$host='localhost';

$pdo= new pdo($dsn,$usr,$password);

$dsn="$dbms:host=$host;dbname=$dbName";



创建PDO预处理对象: prepare()方法:

如果执行多次查询1)pdo::prepare(string satement);返回一个PDOStatment对象2)bool PDOStatement::execute()执行查询返回结果集

如果执行一次查询,直接用pdo::query()返回一个PDOStatment对象 (结果集)


预处理对象的fetch(pdo::FETCH_ASSOC)

while($res->fetch(PDO::FETCH_ASSOC)){}

预处理对象的fetchall(pdo::FETCH_ASSOC)

for($i=0,$i<count($res),$i++){}

预处理对象的fetchcolumn() 获取下一行指定列的值

$res->fetchColumn(0);


bindParam()与bindValue() bindcloumn


<?php

/*  通过绑定的 PHP 变量执行一条预处理语句 */

$weight = 150;

$color = 'red';

$sth = $dbh->prepare('SELECT name, color, weight

FROM fruit

WHERE weight < ? AND color = ?');

$sth->bindParam(1, $weight, PDO::PARAM_INT);

$sth->bindParam(2, $color, PDO::PARAM_STR, 12);

$sth->execute();

?>

<?php

/* 通过绑定的 PHP 变量执行一条预处理语句 */

$weight = 150;

$color = 'red';

$sth = $dbh->prepare('SELECT name, color, weight

FROM fruit

WHERE weight < ? AND color = ?');

$sth->bindValue(1, $weight, PDO::PARAM_INT);

$sth->bindValue(2, $color, PDO::PARAM_STR);

$sth->execute();

?>

<?php

function readData($dbh) {

$sql = 'SELECT name, color, weight FROM fruit';

try {

$stmt = $dbh->prepare($sql);

$stmt->execute();


/*  通过列号绑定  */

$stmt->bindColumn(1, $name);

$stmt->bindColumn(2, $color);

/*  通过列名绑定  */

$stmt->bindColumn('weight', $wgt);


while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {

$data = $name . "\t" . $color . "\t" . $wgt . "\n";

print $data;

}

}

catch (PDOException $e) {

print $e->getMessage();

}

}

readData($dbh);

?>








声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议