批改状态:合格
老师批语:
主题:
MySQLi面向对象实现更新操作。
PDO实现预处理删除操作。
实现效果:
预处理更新(面向对象):


PDO删除操作:


<?php //mysql数据库参数配置文件 //数据库连接参数变量赋值 $db_host = '127.0.0.1';//linux和macOS用localhost $db_user = 'root'; $db_pass = 'root'; $db_name = 'php'; $db_char = 'utf8';
点击 "运行实例" 按钮查看在线实例
<?php
//数据库连接文件
//加载数据库连接参数文件
require 'db_config.php';
//创建连接变量
$mysqli = @new mysqli($db_host,$db_user,$db_pass,$db_name);//@符号屏蔽notice错误信息
//检测连接是否成功
if ($mysqli->connect_errno){
//输出错误信息
exit('连接错误'. $mysqli->connect_errno. ':'. $mysqli->connect_error);
}
//输出连接成功信息
//echo '<he>mysql数据库连接成功</h2>';
//设置数据库字符集
$mysqli->set_charset($db_char);点击 "运行实例" 按钮查看在线实例
<?php
//mysqli面向对象预处理更新操作
//加载数据库连接文件
require 'db_connect.php';
//创建SQL语句变量
$sql = "UPDATE staff SET name=? WHERE name=?;";
//创建预处理对象STMT
$stmt = $mysqli->stmt_init();
//检测STMT预处理SQL语句对象
if ($stmt->prepare($sql)) {
//绑定查询语句参数
$stmt->bind_param('ss', $name, $nameOld);
//给已绑定的变量赋值
$nameOld = '金轮法王';
$name = '飞天神将';
//执行更新操作
$stmt->execute();
if ($stmt->affected_rows > 0) {
echo '更新成功,受影响的纪录条数是:' . $stmt->affected_rows;
} else {
echo '没有更新记录';
}
//操作执行完毕后关闭对象
$stmt->close();
} else {
exit ('错误信息'. $stmt->errno. ':'. $stmt->error);
}
//关闭连接
$mysqli->close();点击 "运行实例" 按钮查看在线实例
<?php
//PDO预处理实现mysql数据库删除操作
//简化写法
//连接数据库并创建PDO对象
$pdo = new PDO('mysql:dbname=php', 'root', 'root');
//创建pdo预处理对象
$stmt = $pdo->prepare("DELETE FROM staff WHERE name=:name");
//执行删除操作(执行同时将参数赋值)
$stmt->execute(['name'=>'小龙女']);
//执行成功提示
echo '成功删除了'. $stmt->rowCount(). '条记录';点击 "运行实例" 按钮查看在线实例
总结:
数据库操作实际使用PDO技术较多,可以跨数据库软件
需要特别牢记的函数及方法:
PDOStatement对象
$pdo->prepare($sql);创建pdo对象
:name 占位符
密码使用sha1()加密
$stmt->bindParam(); 绑定参数变量
$stmt->execute(); 执行操作
$stmt->errorInfo(); 错误信息
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号