10-4预处理新增操作的简化–PHP实战开发教程

10-4预处理新增操作的简化–PHP实战开发教程

橡跑凰刚结胸非集讽嘉切剃狸


原始表结构:

10-4预处理新增操作的简化–PHP实战开发教程第1张


新建mysqli_pre_query-1.php

10-4预处理新增操作的简化–PHP实战开发教程第2张

代码:

<?php
/**
 * 预处理对象stmt Statement
 * stmt对应着一个SQL语句的模板(变量分离,用占位符进行替换)
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句的模板
$sql="insert ignore staff set name=?";
//3.创建stmt对象:将sql语句转化为对象
$stmt=mysqli_stmt_init($db);
//4.用stmt对象检测当前的预处理语句是否正确
if(mysqli_stmt_prepare($stmt,$sql))
{
    //将变量与SQL语句中的占位符进行绑定
    mysqli_stmt_bind_param($stmt,'s',$name);

    $name = '武松';

//    执行SQL语句
    mysqli_stmt_execute($stmt);
    echo "新增成功,主键id是:".mysqli_stmt_insert_id($stmt);

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

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

执行:

10-4预处理新增操作的简化–PHP实战开发教程第3张

武松被插入数据表:

10-4预处理新增操作的简化–PHP实战开发教程第4张


再次执行代码,插入西门庆

<?php
/**
 * 预处理对象stmt Statement
 * stmt对应着一个SQL语句的模板(变量分离,用占位符进行替换)
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句的模板
$sql="insert ignore staff set name=?";
//3.创建stmt对象:将sql语句转化为对象
$stmt=mysqli_stmt_init($db);
//4.用stmt对象检测当前的预处理语句是否正确
if(mysqli_stmt_prepare($stmt,$sql))
{
    //将变量与SQL语句中的占位符进行绑定
    mysqli_stmt_bind_param($stmt,'s',$name);

    $name = '武松';

//    执行SQL语句
    mysqli_stmt_execute($stmt);
    echo "新增成功,主键id是:".mysqli_stmt_insert_id($stmt);
    $name = '西门庆';

//    执行SQL语句
    mysqli_stmt_execute($stmt);
    echo "新增成功,主键id是:".mysqli_stmt_insert_id($stmt);

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

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

执行:

10-4预处理新增操作的简化–PHP实战开发教程第5张

西门庆被成功插入:

10-4预处理新增操作的简化–PHP实战开发教程第6张

注意:武松并不会被重复插入,因为:

$sql=”insert ignore staff set name=?”;

会忽略重复的值


超级精简版代码:

<?php
/**
 * 预处理对象stmt Statement
 * stmt对应着一个SQL语句的模板(变量分离,用占位符进行替换)
 */
//1.连接数据库
require "mysqli_connect.php";
//2.准备SQL语句的模板
$sql="insert ignore staff set name=?";
//3.创建stmt对象:将sql语句转化为对象
$stmt=mysqli_stmt_init($db);
//4.用stmt对象检测当前的预处理语句是否正确
mysqli_stmt_prepare($stmt,$sql);

//5将变量与SQL语句中的占位符进行绑定
mysqli_stmt_bind_param($stmt,'s',$name);
//6.执行:
$name = "武大";
mysqli_stmt_execute($stmt);
echo "新增成功,主键id是:".mysqli_stmt_insert_id($stmt)."<br>";

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

更多php,mysql知识可以查阅手册

官网:http://php.net/

10-4预处理新增操作的简化–PHP实战开发教程第7张

选择简体中文

10-4预处理新增操作的简化–PHP实战开发教程第8张

函数参考-数据库拓展

10-4预处理新增操作的简化–PHP实战开发教程第9张

mysql

10-4预处理新增操作的简化–PHP实战开发教程第10张

10-4预处理新增操作的简化–PHP实战开发教程第11张

10-4预处理新增操作的简化–PHP实战开发教程第12张


胆门掸赋跋视梯鲤火痰剃寝添