Blogger Information
Blog 38
fans 0
comment 2
visits 23942
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
使用预处理进行数据库的删除和更新操作—4月24日
→忆指凡尘&的博客
Original
559 people have browsed it

大家好:

       以下是我用预处理技术进行的数据库删除和更新操作,如有错误的地方望大家指出,谢谢

实例

<?php
//连接数据库
define ('DB_HOST','localhost');
define ('DB_USER','root');
define ('DB_PASS','root');
define ('DB_NAME','php');
define ('DB_CHAR','utf8');

$db = mysqli_connect(DB_HOST,DB_USER,DB_PASS);

if (mysqli_connect_errno($db)) {
	exit ('连接失败'.mysqli_connect_error());
} else {
	echo ('连接成功');
}
echo '<hr>';

//预处理更新操作
//准备SQL语句,将变量部分使用占位符进行代替
$sql = "UPDATE php.staff SET salary = ? WHERE staff_id = ?;";
$salary = 8800;
$staff_id = 9;

//3.创建并初始化预处理对象stmt
$stmt = mysqli_stmt_init($db);

//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt, $sql)) {

    /* 将变量与SQL语句中的占位符进行绑定 */
    mysqli_stmt_bind_param($stmt, "ii", $salary,$staff_id);

    /* 执行SQL语句 */
    if (mysqli_stmt_execute($stmt)) {
        //判断是否执行成功:受影响的记录数量
       if (mysqli_stmt_affected_rows($stmt) > 0) {
           echo '更新成功,主键是:'.$staff_id;
       } else {
           echo '没有更新任何数据';
       }
    } else { //返回SQL执行阶段的错误
        exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
    }
} else { //返回SQL检测阶段的错误
    exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}
/* 注销stmt对象 */
mysqli_stmt_close($stmt);

/* 关闭数据库连接 */
mysqli_close($db);
	echo '<hr>';

//预处理删除操作
//准备SQL语句,将变量部分使用占位符进行代替
$sql = "DELETE FROM php.staff  WHERE staff_id = ?;";
$staff_id = 10;

//3.创建并初始化预处理对象stmt
$stmt = mysqli_stmt_init($db);

//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt, $sql)) {

    /* 将变量与SQL语句中的占位符进行绑定 */
    mysqli_stmt_bind_param($stmt, "i", $staff_id);

    /* 执行SQL语句 */
    if (mysqli_stmt_execute($stmt)) {
        //判断是否执行成功:受影响的记录数量
       if (mysqli_stmt_affected_rows($stmt) > 0) {
           echo '删除成功,主键是:'.$staff_id;
       } else {
           echo '没有删除任何数据';
       }
    } else { //返回SQL执行阶段的错误
        exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
    }
} else { //返回SQL检测阶段的错误
    exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}
/* 注销stmt对象 */
mysqli_stmt_close($stmt);

/* 关闭数据库连接 */
mysqli_close($db);

运行实例 »

点击 "运行实例" 按钮查看在线实例

                                                                             课程总结

1.了解预处理技术的基本流程

2.准备SQL语句,将变量部分使用占位符进行代替的好处

3.将变量与SQL语句中的占位符进行绑定的方法 — mysqli_stmt_bind_param()


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post