Blogger Information
Blog 60
fans 0
comment 1
visits 37612
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MYSQLI预处理中的删除-4月25日
威灵仙的博客
Original
670 people have browsed it

预处理的好处

1.防止SQL注入

2.一条语句多次使用

预处理步骤

    准备工作:连接数据库,准备SQL语句

创建预处理对象

检测SQL语句

参数绑定

执行操作

销毁对象

关闭数据库连接


预处理的增删改查示例

其实呢,预处理的增删改查基本操作都一样

下面呢  我把他们一样的拿出来,

基本样式

1连接数据库,准备SQL语句 sql语句中的值必须为问号,且顺序不能乱

require 'connect.php';

$sql = "INSERT IGNORE aaa SET name=?,age=?,money=?;";

//    给变量赋值
$name= '西施妹妹';
$age=16;
$money=5600;

创建预处理对象/检测SQL语句---这两句是公共样式

//创建stmt预处理对象
$stmt = mysqli_stmt_init($db);

//检测SQL语句
//mysqli_stmt_prepare()
if(mysqli_stmt_prepare($stmt,$sql)){

参数绑定--参数就是根据你要与处理得参数来定,注意一下他们的类型

   //讲变量与SQL语句的占位符进行绑定
//    mysqli_stmt_bind_param()
    mysqli_stmt_bind_param($stmt,"sii",$name,$age,$money);

执行操作 ----增删改的执行是一样的,查的不一样,继续往下看 ,下边上实例

//    执行SQL语句
//    mysqli_stmt_execute()
    mysqli_stmt_execute($stmt);
    //更新条数
    echo '新增了'.mysqli_stmt_affected_rows($stmt).'条,ID是:'.mysqli_stmt_insert_id($stmt);

销毁对象/关闭数据库连接---公共样式

}
//关闭
mysqli_stmt_close($stmt);

mysqli_close($db);

光这样看也看不出个啥  下面把增删改查的实例放上来瞅瞅

实例

<?php

require 'connect.php';

$sql = "DELETE FROM aaa  WHERE id=?;";

//    给变量赋值
$id = 34;

//创建stmt预处理对象
$stmt = mysqli_stmt_init($db);

//检测SQL语句
//mysqli_stmt_prepare()
if(mysqli_stmt_prepare($stmt,$sql)){

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


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

    //更新条数
    echo '删除了'.mysqli_stmt_affected_rows($stmt).'条';


}
//关闭
mysqli_stmt_close($stmt);

mysqli_close($db);

运行实例 »

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

改:

实例

<?php

require 'connect.php';

$sql = "INSERT IGNORE aaa SET name=?,age=?,money=?;";

//    给变量赋值
$name= '西施妹妹';
$age=16;
$money=5600;

//创建stmt预处理对象
$stmt = mysqli_stmt_init($db);

//检测SQL语句
//mysqli_stmt_prepare()
if(mysqli_stmt_prepare($stmt,$sql)){

    //讲变量与SQL语句的占位符进行绑定
//    mysqli_stmt_bind_param()
    mysqli_stmt_bind_param($stmt,"sii",$name,$age,$money);

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

//更新条数
    echo '新增了'.mysqli_stmt_affected_rows($stmt).'条,ID是:'.mysqli_stmt_insert_id($stmt);


}
//关闭
mysqli_stmt_close($stmt);

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