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();
运行实例 »
点击 "运行实例" 按钮查看在线实例
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>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
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>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
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>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
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>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
获取结果集记录数量的正确方式是:将结果集中的列绑定到变量上,再遍历列变量获得结果集
总结:
1.PDO连接数据库:$pdo = new PDO('mysql:host=host; dbname=dbname; charset=UTF8', 'username', 'password');
2.获得PDO查询结果集:将结果集中的列绑定到变量上,再遍历列变量获得结果集