11-11PDO预处理实现对多结果集的遍历–PHP实战开发教程

11-11PDO预处理实现对多结果集的遍历–PHP实战开发教程

巨河两救现姓茨急免姜惺晦厩


员工表(staff表)结构:

11-11PDO预处理实现对多结果集的遍历–PHP实战开发教程第1张


新建pdo_pre_select-3.php

代码:

<?php
//预处理的多语句查询操作
//1.连接数据库
$pdo = new PDO('mysql:local=127.0.0.1;dbname=myuser', 'root', 'root');

//2.准备sql语句
$sql1="select name,salary from staff where salary <:salary";
$sql2="select name,age from staff where age >:age";

//3.创建预处理对象:把当前的sql语句抽象成一个对象
//每条sql语句都必须对应一个预处理对象
$stmt1=$pdo->prepare($sql1);
$stmt2=$pdo->prepare($sql2);

//4.执行第一条查询
$stmt1->execute(['salary'=>5000]);

//5.遍历第一个结果集
$row=$stmt1->fetchAll(PDO::FETCH_ASSOC);//获取所有数据  返回值为二维数组
echo "<h2>工资小于5000的员工</h2>";
//遍历二维数组
foreach($row as $staff)
{
    echo $staff['name']."=>".$staff['salary']."<br>";
}

执行:

11-11PDO预处理实现对多结果集的遍历–PHP实战开发教程第2张


多语句执行:

<?php
//预处理的多语句查询操作
//1.连接数据库
$pdo = new PDO('mysql:local=127.0.0.1;dbname=myuser', 'root', 'root');

//2.准备sql语句
$sql1="select name,salary from staff where salary <:salary";
$sql2="select name,age from staff where age >:age";

//3.创建预处理对象:把当前的sql语句抽象成一个对象
//每条sql语句都必须对应一个预处理对象
$stmt1=$pdo->prepare($sql1);
$stmt2=$pdo->prepare($sql2);

//4.执行第一条查询
$stmt1->execute(['salary'=>3000]);

//5.遍历第一个结果集
$row=$stmt1->fetchAll(PDO::FETCH_ASSOC);//获取所有数据  返回值为二维数组
echo "<h2>工资小于5000的员工</h2>";
//遍历二维数组
foreach($row as $staff)
{
    echo $staff['name']."=>".$staff['salary']."<br>";
}

//6.关闭第一个预处理对象
$stmt1->closeCursor();

//7.执行第二条预处理语句
$stmt2->execute(['age'=>50]);

//8.遍历第二个结果集
$row=$stmt2->fetchAll(PDO::FETCH_ASSOC);//获取所有数据  返回值为二维数组
echo "<h2>工资大于50的员工</h2>";
//遍历二维数组
foreach($row as $staff)
{
    echo $staff['name']."=>".$staff['age']."<br>";
}

执行:

11-11PDO预处理实现对多结果集的遍历–PHP实战开发教程第3张


宪拜诫残了粉械蔽谭铰吧晚飘