php pdo 释放查询结果,使用PDO查询格式化输出结果

本文介绍了PDO在PHP中进行参数绑定、fetch及列绑定的方法。通过bindParam()和bindValue()进行参数绑定,使用fetch()结合while()遍历结果集,并通过bindColumn()将结果集与变量绑定,最后展示了如何输出查询结果。示例代码详细演示了PDO预处理语句的使用过程。

摘要:<?php

/**

* Created by PhpStorm.

* User: Jason

* Date: 2019/4/4

* Time: 8:03

*/

// 1、参数绑定: bindParam() /&nb<?php

/**

* Created by PhpStorm.

* User: Jason

* Date: 2019/4/4

* Time: 8:03

*/

// 1、参数绑定: bindParam() / bindValue()

// 2、fetch() 和 while()

// 3、列绑定:bindColumn();

// 连接数据库

$dsn = "mysql:host=127.0.0.1;dbname=php_edu;charset=utf8";

$pdo = new PDO($dsn,'root','root');

// 2、创建预处理对象STMT

$sql = "SELECT `id`,`name`,`email`,`create_time` FROM `user`  where `status`=:status" ;

// 获取预处理对象 stmt

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

// 参数绑定:

$status = 0;

//$stmt->bindParam(':status',$status,PDO::PARAM_INT);

$stmt->bindValue(':status',0,PDO::PARAM_INT);

/**

* bindParam() 与 bindValue() 的区别是:bindParam,只能绑定传入变量,bindValue() 可以绑定传入字面量

*/

// 3、执行查询

//$stmt->execute([':status'=>0]);

$stmt->execute();

// 把结果集与变量绑定

$stmt->bindColumn(1,$id,PDO::PARAM_INT);

$stmt->bindColumn(2,$name,PDO::PARAM_STR,20);

$stmt->bindColumn(3,$email,PDO::PARAM_STR,100);

$stmt->bindColumn(4,$create_time,PDO::PARAM_STR,100);

$stmt->setFetchMode(PDO::FETCH_BOUND);

// 输出结果

$rows = [];

while($stmt->fetch())

{

// 将变量转为关联数组;compact();

$rows[] = compact('id','name','email','create_time');

}

// 释放结果集

$stmt = null;

// 关闭连接

$pdo = null;

?>

table,th,td{

border: 1px solid #333;

}

table{

border: 1px solid #333;

text-align: center;

width: 50%;

margin: 30px auto;

border-collapse: collapse;

}

table caption{

font-size: 1.5em;

font-weight:bolder;

margin-bottom: 15px;

}

table tr:first-child{

background: skyblue;

}

用户信息表
ID姓名邮箱注册时间
<?php  echo $row['id']?><?php  echo $row['name']?><?php  echo $row['email']?><?php  echo date('Y-m-d H:i:s',$row['create_time']);?>

效果图:

4af6f9f6041875faa59afeb391c6f023.png

批改老师:天蓬老师批改时间:2019-04-04 10:45:13

老师总结:其实pdo的操作是非常直观的, 不论是查询,还是其它操作, 最终用户感兴趣的数据,都是要绑定到列上的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值