Blogger Information
Blog 38
fans 0
comment 0
visits 25409
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第八课—PDO 2018年8月30日 20时00分
空白
Original
1001 people have browsed it

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查询结果集:将结果集中的列绑定到变量上,再遍历列变量获得结果集

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post