关于$stmt->fetch()和$stmt->fetchAll()

原创 2018-12-26 22:19:15 203
摘要:<?php $pdo = new PDO('mysql:dbname=zh','root','root'); $stmt = $pdo->prepare('select *  from zh_user where `id
<?php
$pdo = new PDO('mysql:dbname=zh','root','root');

$stmt = $pdo->prepare('select *  from zh_user where `id`>:dd');

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

$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

$stmt =null;
$pdo =null;
echo '<pre>';
echo var_export($res,true);
echo '<hr>';
foreach($res as $row){
    $rows[] = $row;
}
echo var_export($rows,true);
echo '<hr>';
echo $res===$rows?true:false;
$row=$stmt->fetch(PDO::FETCH_ASSOC);
var_dump($row);
$row=$stmt->fetch(PDO::FETCH_ASSOC);
var_dump($row);
?>

$stmt->fetchAll()是一次性获取符合条件所有语句

$stmt->fetch()是每次获取一条符合条件所有语句,然后下标向下走一位

$rows[]=$row;

批改老师:天蓬老师批改时间:2018-12-27 09:14:52
老师总结:查询操作返回的是一个结果集, 对应的操作,一次性获取多条,以及一条, 这二个用途是这个的, 建议一次一条,用循环实现,可以防止一次性获取数据过多,内存不足

发布手记

热门词条