橡跑凰刚结胸非集讽嘉切剃狸
原始表结构:
新建mysqli_pre_query-1.php
代码:
<?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);
执行:
武松被插入数据表:
再次执行代码,插入西门庆
<?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);
执行:
西门庆被成功插入:
注意:武松并不会被重复插入,因为:
$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/
选择简体中文
函数参考-数据库拓展
mysql
胆门掸赋跋视梯鲤火痰剃寝添