批改状态:合格
老师批语:
以下是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.执行删除/更新/新增操作
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号