批改状态:合格
老师批语:
一、面向对象技术实现数据库的更新操作
完成功能:
数据库预处理和面向对象的技术,通过执行传入id值的sql语句更新数据库中的相应name值,效果如下:


staff_id为11的name值被更新为了杨过
执行脚本为:mysqli_pre_update.php;数据库连接脚本为:mysqli_connect.php
1.mysqli_connect.php
<?php
//面向对象与面向过程,面向对象:创建数据库对象,使用数据库对象的方法来操作数据库;面向过程:使用函数,走流程化执行任务.
/**
* 数据库连接
*/
//1.创建连接参数
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_NAME', 'php');
define('DB_CHAR', 'utf8');
//2.调用连接函数返回连接对象
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASS);
//3.判断是否连接成功
if($mysqli->connect_errno){
exit('连接错误'.$mysqli->connect_errno.':'.$mysqli->connect_error);
}
echo '<h1 style="text-align:center;color:green;">数据库连接成功</h1>';
echo '<hr>';
//4.设置默认数据库
$mysqli->select_db(DB_NAME);
//4.设置字符编码集
$mysqli->set_charset(DB_CHAR);点击 "运行实例" 按钮查看在线实例
2.mysqli_pre_update.php
<?php
/**
* 预处理面向对象实现更新操作
*/
//1.连接数据库
require 'config/mysqli_connect.php';
//2.准备SQL语句
$sql = "UPDATE staff SET name=? WHERE staff_id=?";
//3.创建出预处理对象STMT
$stmt = $mysqli->stmt_init();
//4,检测STMT,预处理SQL语句对象
if($stmt->prepare($sql)){
//绑定参数
$stmt->bind_param('si', $name, $staffId);
//执行插入操作
$name='杨过';
$staffId = 11;
$stmt->execute();
//判断是否执行成功
if($stmt->affected_rows > 0){
echo '更新成功'.$stmt->affected_rows.'条数据';
}else{
echo '没有记录被更新';
}
}else{
exit('执行错误,'.$stmt->errno().':'.$stmt->error());
}点击 "运行实例" 按钮查看在线实例
二、PDO实现删除操作
1.1 完成功能:通过PDO数据库技术实现预处理方式删除数据表中name为”杨过的数据“。效果如下:


1.2 执行的脚本为:pdo_pre_delete.php
<?php
/**
* PDO预处理删除操作
*/
///1.连接数据库,创建了pdo对象
try{
$pdo = new PDO('mysql:dbname=php','root','root');
}catch (PDOException $e){
print '连接错误'.$e->getMessage();
die();
}
//2.创建PDO预处理对象
$stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name;");
//3.执行
if($stmt->execute(['name'=>'杨过'])
){
echo '删除了'.$stmt->rowCount().'条数据';
}else{
print_r($stmt->errorInfo());
}
//unset($pdo);
$pdo = null;点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号