批改状态:合格
老师批语:
1. MySQLi面向对象实现更新操作

<?php
// *
// * mysqli面向对象方式连接数据库
// * 步骤:
// * 1. 创建连接参数
// * 2. 连接数据库服务器,mysqli:constructor
// * 3. 判断是否连接成功
// * 4.设置默认数据库
// * 5. 设置客户端默认字符编码集合
// *
//1. 创建连接参数
//创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量
$db_host='127.0.0.1';
$db_user='root';
$db_pass='root';
$db_name='php';
$db_char='utf8';
// define ('DB_USER', 'root');
// define ('DB_PASS', 'root');
// define ('DB_NAME', 'php');
// define ('DB_CHAR', 'utf8');
//2. 连接数据库服务器,mysqli:constructor
$mysqli = @new mysqli($db_host, $db_user,$db_pass);
//3. 测试连接是否成功?
if ($mysqli->connect_errno) {
exit('连接失败'.$mysqli->connect_errno.':'.$mysqli->connect_error);
}
echo '<h1>连接成功</h1>';
//4.设置默认数据库
$mysqli->select_db($db_name);
//5. 设置客户端默认字符编码集合
$mysqli->set_charset($db_char);点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
/医院
* mysqli面向对象更新操作
* 基本流程:
* 1.连接数据库
* 2.准备SQL语句
* 3.创建出预处理对象stmt
* 4.检测stmt,预处理的SQL语句对象
* 5.参数绑定
* 6.执行SQL语句
* 6.关闭数据库连接
*/
//1.连接数据库
require 'mysqli_connect.php';
//2.准备SQL语句
$sql = "UPDATE IGNORE staff SET name=?, salary=? WHERE staff_id=20;"; //UPDATE IGNORE staff SET salary=? WHERE staff_id=3
//3.创建出预处理对象stmt
$stmt = $mysqli -> stmt_init();
//4.检测stmt,预处理的SQL语句对象
if ($stmt->prepare($sql)) {
$date[] = ['name'=>'菜鸟','salary'=>100];
//5.参数绑定
$stmt->bind_param('si', $name,$salary);// type:'i'
foreach ($date as $staff){
$name = $staff['name'];
$salary = $staff['salary'];
//6.执行SQL语句
$stmt->execute();
if ($stmt->affected_rows > 0){
echo '<br>更新成功'.$stmt->affected_rows.'条记录';
} else {
echo '<br> 没有更新记录';
}
}
} else { //错误处理
exit($stmt->errno.':'.$stmt->error);
}
//6.关闭数据库连接
$mysqli->close();点击 "运行实例" 按钮查看在线实例
<meta charset="UTF-8">
<?php
//PDO删除操作
//医院步骤:
//医院1.创建PDO数据库连接对象
//医院2.创建预处理 sql 对象,位符使用命名参数格式:
//医院3.绑定参数到预处理语句的参数中并执行
//医院4.得到受影响的行数,判断是否大于0
//医院5.断开 PDO 连接)
//1.创建PDO数据库连接对象
//简写方式 $pdo = new PDO('mysql:dbname=php', 'root', 'root');
$dsn = 'mysql:host=127.0.0.1;dbname=php;charset=utf8;port=3306'; //创建数据库连接
$pdo = new PDO($dsn,'root','root');
try{
//2.创建预处理 sql 对象,位符使用命名参数格式:
$stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name");
//3.绑定参数到预处理语句的参数中并执行
$stmt ->execute(['name'=>'杨康']);
//4.得到受影响的行数,判断是否大于0
if($stmt->rowCount()>0){
echo '成功删除了'.$stmt->rowCount().'条记录';
}else{
echo '没有记录被删除';
}
}catch (PDOException $e){
echo 'Connect ERROR!'.$e->getMessage(); //抛出异常
die(); //停止脚本执行
}
//5.断开 PDO 连接
$pdo=null;点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号