博主信息
博文 71
粉丝 1
评论 1
访问量 102140
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
MYSQL预处理的查询操作
小威的博客
原创
1903人浏览过
<?php
//预处理的查询操作
//
//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=wd2018','root','root');
//2.准备SQL语句
$sql = "SELECT name,email FROM user WHERE user_id < :user_id";
//3.创建预处理对象:把当前的SQL语句抽象成一个对象
$stmt = $pdo->prepare($sql);
//4.参数绑定
// $user_id =5;
// $stmt->bindParam(':user_id',$user_id,PDO::PARAM_INT);
// $stmt->bindValue(':user_id',5,PDO::PARAM_INT);
//5.执行查询
$stmt -> execute(['user_id'=>5]);
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
//6.解决结果集
// $row = $stmt->fatch();//获取到一条数据,自动下移指针
// $row = $stmt->fatch();
// $row = $stmt->fatch();
// $row = $stmt->fatch();
// while ($row = $stmt->fatch(PDO::FETCH_ASSOC)){//循环查询关联键值
// echo '<pre>'.print_r($row,true).'</pre>';
// }
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $user) {
echo $user['name'],'=>',$user['email'],'<br>';
}
echo '<pre>'.print_r($row,true).'</pre>';



  • 预处理操作链式操作

//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=wd2018','root','root');
//2.创建预处理对象:把当前的SQL语句抽象成一个对象
$stmt = $pdo->prepare("SELECT name,email FROM user WHERE user_id < :user_id")
        -> execute(['user_id'=>5])//执行
        ->fetchAll(PDO::FETCH_ASSOC);//获取结果集
//3.遍历结果集
foreach($rows as $user) {
echo $user['name'],'=>',$user['email'],'<br>';
}
echo '<pre>'.print_r($row,true).'</pre>';
//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=wd2018','root','root');
//2.准备SQL语句
$sql = "SELECT name,email FROM user WHERE user_id < :user_id";
//3.创建预处理对象:把当前的SQL语句抽象成一个对象
$stmt = $pdo->prepare($sql);
//4.参数绑定
$stmt -> execute($user_id =5);
//5.将结果集中的列与变量进行绑定
$stmt->bindColumn('name',$name);
$stmt->bindColumn('email',$email);
while ($stmt->fetch()) {
echo $name.' : '.$email.'<br>';
}
//1.连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=wd2018','root','root');
//2.准备SQL语句 (独立执行   不需要拼接)
$sql1 = "SELECT name,salary FROM staff WHERE salary < :salary";
$sql2 = "SELECT name,salary FROM staff WHERE age < :age";
//3.创建预处理对象:把当前的SQL语句抽象成一个对象
$stmt1 = $pdo->prepare($sql1);
$stmt2 = $pdo->prepare($sql2);
//4.执行第一条查询
$stmt -> execute('salary'=>5000);
//5.遍历第一个结果集
echo '<h2>工资小于5000的员工</h2>'
$rows = $stmt1->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $staff) {
echo $user['name'],'=>',$staff['salary'],'<br>';
}
//6.关闭第一个预处理对象 (重要)
$stmt1->closeCursor();
//7.处理第二个结果集
$stmt2 -> execute('age'=>50);
//5.遍历第二个结果集
echo '<h2>年龄大于50的员工</h2>'
$rows = $stmt2->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $staff) {
echo $user['name'],'=>',$staff['age'],'<br>';
}


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学