Correction status:qualified
Teacher's comments:
以下是MySQLi面向对象实现更新操作的代码与PDO实现删除操作的代码,与大家分享:
MySQLi面向对象实现更新操作的代码:
<?php //1.连接数据库 require 'mysqli_connect.php'; //2.准备SQL语句 $sql = "UPDATE staff SET salary=? WHERE name=?;"; //3.创建STMT预处理对象 $stmt = $mysqli->stmt_init(); //4.检测预处理SQL语句 if($stmt->prepare($sql)){ $date[]= ['name'=>'郭靖','salary'=>8888]; $date[]= ['name'=>'黄蓉','salary'=>7777]; $date[]= ['name'=>'段誉','salary'=>6666]; //绑定参数到预处理SQL语句 $stmt->bind_param('is',$salary,$name); foreach($date as $staff){ //设置参数 $salary = $staff['salary']; $name = $staff['name']; //执行预处理语句 $stmt->execute(); if($stmt->affected_rows>0){ echo '<br>更新成功'.$stmt->affected_rows.'条记录'; }else{ echo '<br>没有更新记录'; } } //5.注销stmt对象 $stmt->close(); }else{ exit($stmt->errno.':'.$stmt->error); } //6. 关闭数据库连接 $mysqli->close();
点击 "运行实例" 按钮查看在线实例
效果图:
将郭靖,黄蓉,段誉的工资分别更新了
PDO实现删除操作的代码:
<?php //1.连接数据库创建PDO对象 $pdo = new PDO('mysql:dbname=php','root','root'); //2.创建PDO预处理对象 $stmt = $pdo->prepare("DELETE FROM `user` WHERE `user_name`=:name"); //3.执行删除操作 $stmt->execute(['name'=>'pzb']);
点击 "运行实例" 按钮查看在线实例
效果图:
将名字为pzb的记录删除
总结:
MySQLi面向对象实现更新的过程是:
1.连接数据库
2.准备SQL语句
3.创建STMT预处理对象
4.检测预处理SQL语句
5.注销stmt对象
6. 关闭数据库连接
注:在MySQLi面向对象实现更新的过程中遇到了一个小问题,绑定参数到预处理SQL语句将两个参数的位置弄反了,然后一直出错,之后发现了并改正,希望大家注意,的时候正确的是 $stmt->bind_param('is',$salary,$name);
PDO实现删除/更新/新增操作的过程是:
1.连接数据库创建PDO对象
2.创建PDO预处理对象
3.执行删除/更新/新增操作