Blogger Information
Blog 31
fans 0
comment 1
visits 21162
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQLi面向过程:使用预处理技术实现更新与删除操作: 2018年作业
杜苏华迈专注于物联网可视化管理的博客
Original
795 people have browsed it


1. 配置数据库连接参数 mysqli_config.php

<meta charset="UTF-8">
<?php
/**
 * 配置数据库连接参数
 */

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.php

<?php
/**
 * mysqli数据库连接
 * 步骤:
 * 1. 创建连接参数
 * 2. 调用连接函数,返回连接资源
 * 3. 判断是否连接成功
 * 4. 选择数据库
 * 5. 设置默认字符集
 *
 * 用到的函数
 * 1. mysqli_connect($host,$user,$pass)
 * 2. mysqli_connect_errno($db)
 * 3. mysqli_connect_error($db)
 * 4. mysqli_select_db($dbName)
 * 5. mysqli_set_charset('utf8')
 */

//1. 创建连接参数
//创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量
// define ('DB_HOST', '127.0.0.1');
// define ('DB_USER', 'root');
// define ('DB_PASS', 'root');
// define ('DB_NAME', 'php');
// define ('DB_CHAR', 'utf8');

//导入数据库连接参数
require 'mysqli_config.php';

//2. 调用连接函数,成功则返回mysqli对象,失败返回false
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASS);
//var_dump($db);die();
//3. 测试连接是否成功?
//连接失败一定会返回错误编号,可以根据编号判断,也可用 $db是否为false进行判断
//简化代码 $db = mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME) or die('连接失败'.mysqli_connect_error($db));
if (mysqli_connect_errno($db)) {
    exit('连接失败'.mysqli_connect_error($db));
}

echo '<h1>连接成功</h1>';

//4. 选择要操作的数据库
mysqli_select_db($db,DB_NAME);

//5. 设置默认字符集
mysqli_set_charset($db,DB_CHAR);

运行实例 »

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


MySQLi面向过程:使用预处理技术实现更新.png

使用预处理技术实现更新 :把id=2 黄蓉的salary 改为9999

实例  mysqli_update.php

<meta charset="UTF-8">

<?php
/**
*/
//1.连接数据库
require 'mysqli_connect.php';

//2.准备SQL语句,将变量部分使用占位符进行代替
$sql="UPDATE IGNORE staff SET salary=? WHERE staff_id=3;";

//3.创建并初始化预处理对象stmt:将SQL语句转为对象
$stmt=mysqli_stmt_init($db);

//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt,$sql)){
 /* 将变量与SQL语句中的占位符进行绑定 */
    mysqli_stmt_bind_param($stmt,'i',$salary);

    $salary=9999;

    /* 执行SQL语句 */
    mysqli_stmt_execute($stmt);

     echo '<br>成功的更新了'.mysqli_affected_rows($db).'条记录';
} else {
     echo '没有新增任何数据';
    //返回SQL执行阶段的错误
    exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}

//* 注销stmt对象 */
mysqli_stmt_close($stmt);
//12.关闭数据库连接
mysqli_close($db);

运行实例 »

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


MySQLi面向过程:使用预处理技术实现删除1.png


MySQLi面向过程:使用预处理技术实现删除2.png

使用预处理技术实现删除 :删除id=15 小龙女

实例 mysqli_delete.php

<meta charset="UTF-8">

<?php
/**
*/
//1.连接数据库
require 'mysqli_connect.php';

//2.准备SQL语句,将变量部分使用占位符进行代替
$sql="DELETE FROM staff WHERE staff_id=?;";

//3.创建并初始化预处理对象stmt:将SQL语句转为对象
$stmt=mysqli_stmt_init($db);

//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt,$sql)){
 /* 将变量与SQL语句中的占位符进行绑定 */
    mysqli_stmt_bind_param($stmt,'i',$id);

     $id=15;

    /* 执行SQL语句 */
    mysqli_stmt_execute($stmt);

     echo '<br>删除成功了'.mysqli_affected_rows($db).'条记录';
} else {
     echo '没有删除任何数据';
    //返回SQL执行阶段的错误
    exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}

//* 注销stmt对象 */
mysqli_stmt_close($stmt);
//12.关闭数据库连接
mysqli_close($db);

运行实例 »

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





Correction status:Uncorrected

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