Blogger Information
Blog 28
fans 0
comment 0
visits 16603
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQL 预处理方法更新删除-2018年04月27日00时59分
植树青年小江同志的博客
Original
1158 people have browsed it

1.预处理技术,可以将动态变量,从SQL语句中的分离出来,单独操作

2.解决了SQL注入的安全问题

3.预处理操作是通过一个叫预处理对象的工具来操作的: STMT


实例--删除

<?php

// 连接数据库
require 'mysqli_connect.php';

// 准备 sql 语句

$sql = "DELETE FROM staff WHERE salary>?;";

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

// 用stmt对象检测当前的预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt, $sql)) {
  // 变量与语句中的占位符进行绑定

  mysqli_stmt_bind_param($stmt, 'i', $salary);
  
  // 执行sql
  if (mysqli_stmt_execute($stmt)) {
    // 判断成,记录数据
    if (mysqli_stmt_affected_rows($stmt) > 0) {
      echo '删除成功';
    } else {
      echo '没有删除任何数据';
    }

  } else {
    exit(mysqli_stmt_errno($stmt) . ':' . mysqli_stmt_error($stmt));
  }
} else {
  exit(mysqli_stmt_errno($stmt) . ':' . mysqli_stmt_error($stmt));
}

// 注销 stmt 对象
mysqli_stmt_close($stmt);

// 关闭连接
mysqli_close($db);

运行实例 »

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

实例--更新    

<?php

// 连接数据库
require 'mysqli_connect.php';

// 准备 sql 语句

$sql = "UPDATE staff SET salary=? WHERE staff_id=?;";

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

// 用stmt对象检测当前的预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt, $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 {
    exit(mysqli_stmt_errno($stmt) . ':' . mysqli_stmt_error($stmt));
  }
} else {
  exit(mysqli_stmt_errno($stmt) . ':' . mysqli_stmt_error($stmt));
}

// 注销 stmt 对象
mysqli_stmt_close($stmt);

// 关闭连接
mysqli_close($db);

运行实例 »

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

WX20180427-010401.png

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
Author's latest blog post