1.PDOStatement
在PDO处理中,只要返回结果集或者使用预处理,就会返回一个PDOStatement对象
2.处理结果集
使用fetch()获取结果集中的一条记录
1 <?php 2 ????$dsn="mysql:host=127.0.0.1;dbname=example"; 3 ????$user="root"; 4 ????$password=‘‘; 5 ????try 6 ????{ 7 ????????$pdo=new PDO($dsn,$user,$password); 8 ????????$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 9 10 ????????$pdostatement=$pdo->query(‘SELECT * FROM student‘);11 12 ????????while($row=$pdostatement->fetch())13 ????????{14 ????????????print_r($row);echo "<br>";15 ????????}16 ???17 ????}18 ????catch(PDOException $e)19 ????{20 ????????echo $e->getMessage();21 ????} 22 23 ????$pdo=null; ??24 ?>
可以传递参数指定结果集的返回形式
$row=$pdostatement->fetch(PDO::FETCH_ASSOC)//以关联数组返回
$row=$pdostatement->fetch(PDO::FETCH_NUM)//以索引数组返回
使用fetchAll()直接将结果集变成一个二维数组返回
1 <?php 2 ????$dsn="mysql:host=127.0.0.1;dbname=example"; 3 ????$user="root"; 4 ????$password=‘‘; 5 ????try 6 ????{ 7 ????????$pdo=new PDO($dsn,$user,$password); 8 ????????$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 9 10 ????????$pdostatement=$pdo->query(‘SELECT * FROM student‘);11 12 ????????print_r($pdostatement->fetchAll());13 ???14 ????}15 ????catch(PDOException $e)16 ????{17 ????????echo $e->getMessage();18 ????} 19 20 ????$pdo=null; ??21 ?>
3.rowCount()返回结果集行数或影响行数
$pdostatement=$pdo->query(‘SELECT * FROM student‘);echo $pdostatement->rowCount();//直接返回查询出的行数
$pdostatement=$pdo->prepare("DELETE FROM student");$pdostatement->execute();echo $pdostatement->rowCount();//显示删除了多少行
PHP使用PDOStatement处理结果集
原文地址:https://www.cnblogs.com/patermenkey/p/8277602.html