博主信息
博文 38
粉丝 0
评论 0
访问量 30572
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
第八课—PDO 2018年8月30日 20时00分
空白
原创
1151人浏览过

msqli查询

实例

<?php
// 连接数据库
require('8.php');

//准备SQL语句
$sql = "SELECT `id`, `name`, `salary`  FROM `user` WHERE `salary` > ? ;";

//创建一个SQL语句的预处理对象
$stmt = $sqli->prepare($sql);

//参数绑定
$salary = 5000;
$stmt->bind_param('i',$salary);

//执行SQL语句
if ($stmt->execute()) {
    //获取结果集并放到缓存区
    $stmt->store_result();

    //将结果集中的列绑定到变量上
    $stmt->bind_result($id,$name, $salary);

    //结果集是否不为,只有不为空的时候才遍历
    if ($stmt->num_rows > 0) {
        // 循环遍历结果集
        // fetch()每次获取一条记录,并将指针自动下移
        while ($stmt->fetch()) {
            echo '<p>id:'.$id.'---姓名:' .$name.'---工资:'.$salary.'</p>';
        }
    } else {
        exit('<p>当前表中没有数据</p>');
    }

    // 释放结果集
    $stmt->free_result();
} else {
    exit($stmt->errno. ':' .$stmt->error);
}


//注销stmt对象
$stmt->close();

//关闭连接
$sqli->close();

运行实例 »

点击 "运行实例" 按钮查看在线实例

1.png

PDO的优势:统一使用pdo方法操作不同的数据库


PDO添加数据

实例

<?php

//连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test;charset=UTF8', 'root', '');

//准备SQL语句,用"命名占位符"
$sql = "INSERT `user` SET `name`= :name, `age`= :age, `sex`= :sex,`salary`= :salary;";

// 创建预处理对象
$stmt = $pdo -> prepare($sql);

// 执行添加
$stmt -> execute(['name' => "陈成程", 'age' => 25, 'sex' => 1, 'salary' => 5000]);
$stmt -> execute(['name' => "小甜甜", 'age' => 23, 'sex' => 1, 'salary' => 9000]);
$stmt -> execute(['name' =>"张楞", 'age' => 30, 'sex' => 0, 'salary' => 5000]);

echo '<h3>成功添加了', $stmt -> rowcount(), '条记录</h3>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

2.png

PDO更新数据

实例

<?php
// PDO更新数据
//PDO连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test;charset=UTF8', 'root', '');

//准备SQL语句,用"命名占位符"
$sql = "UPDATE `user` SET `salary`= :salary WHERE `id`= :id";

//创建预处理对象
$stmt = $pdo->prepare($sql);

$stmt->execute(['salary' => 8000,'id'=>9]);
echo '<h3>成功更新了'.$stmt->rowcount().'条记录</h3>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

3.png

PDO删除数据

实例

<?php
// PDO删除数据
//PDO连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test;charset=UTF8', 'root', '');

//准备SQL语句,用"命名占位符"
$sql = "DELETE FROM `user` WHERE `id`< :id";

//创建预处理对象
$stmt = $pdo->prepare($sql);

$stmt->execute(['id'=>7]);
echo '<h3>成功删除了'.$stmt->rowcount().'条记录</h3>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

4.png


PDO查询操作

实例

<?php
// PDO查询数据
//PDO连接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=test;charset=UTF8', 'root', '');

//准备SQL语句,用"命名占位符"
$sql = "SELECT `name`, `salary` FROM `user` WHERE `id`> :id";

//创建预处理对象
$stmt = $pdo->prepare($sql);

$stmt -> execute(['id' => 10]);

//获取结果集
//1.将结果集中的列绑定到变量上
$stmt -> bindColumn('name', $name);
$stmt -> bindColumn('salary', $salary);

//2.用列变量来遍历结果集
while ($stmt->fetch(PDO::FETCH_BOUND)) {
    echo '姓名: ',$name,'——',' 工资: ', $salary, '<br>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

5.png


获取结果集记录数量的正确方式是:将结果集中的列绑定到变量上,再遍历列变量获得结果集


总结:

    1.PDO连接数据库:$pdo = new PDO('mysql:host=host; dbname=dbname; charset=UTF8', 'username', 'password');

    2.获得PDO查询结果集:将结果集中的列绑定到变量上,再遍历列变量获得结果集

批改状态:未批改

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

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

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