Correction status:Uncorrected
Teacher's comments:
一、使用预处理技术实现更新操作;
功能:更新第31条记录的ID为10,name值为恩格斯。
代码如下:
<?php //使用预处理技术实现更新操作 //1.连接数据库 require 'mysqli_connect.php'; //2.sql模板 $sql="UPDATE IGNORE students set id=?,name=? where id=31;"; //3.创建预处理对象,将SQL语句转为对象 $mysqli_yu=mysqli_stmt_init($db); //4.检测当前的预处理语句是否正确 if(mysqli_stmt_prepare($mysqli_yu,$sql)){ //将变量与语句中的占位符进行绑定 mysqli_stmt_bind_param($mysqli_yu,"is",$id,$name); //下面是更新的内容 $id=10;$name='恩格斯'; //执行SQL mysqli_stmt_execute($mysqli_yu); //判断是否执行成功 if(mysqli_stmt_affected_rows($mysqli_yu)>0){ echo '成功更新了'.mysqli_stmt_affected_rows($mysqli_yu).'条记录'; }else{//重复更新给出信息 echo '无需重复更新'; } }else{//给出错误信息 exit(mysqli_stmt_errno($mysqli_yu).':'.mysqli_stmt_error($mysqli_yu)); } //5.注销预处理对象 mysqli_stmt_close($mysqli_yu); //6.关闭数据库连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
运行后:
二、使用预处理技术实现删除操作
功能:删除第35条记录;
代码如下:
<?php //使用预处理技术实现删除操作 //1.连接数据库 require 'mysqli_connect.php'; //2.sql模板 $sql="DELETE IGNORE FROM students where id=?;"; //3.创建预处理对象,将SQL语句转为对象 $mysqli_yu=mysqli_stmt_init($db); //4.检测当前的预处理语句是否正确 if(mysqli_stmt_prepare($mysqli_yu,$sql)){ //5.将变量与语句中的占位符进行绑定 mysqli_stmt_bind_param($mysqli_yu,"i",$id); //将删除的记录ID $id=35; //6.执行SQL mysqli_stmt_execute($mysqli_yu); //判断是否执行成功 if(mysqli_stmt_affected_rows($mysqli_yu)>0){ echo '成功删除了'.mysqli_stmt_affected_rows($mysqli_yu).'条记录'; }else{//重复更新给出信息 echo '无需重复删除'; } }else{//给出错误信息 exit(mysqli_stmt_errno($mysqli_yu).':'.mysqli_stmt_error($mysqli_yu)); } //7.注销预处理对象 mysqli_stmt_close($mysqli_yu); //8.关闭数据库连接 mysqli_close($db);
点击 "运行实例" 按钮查看在线实例
三、总结
使用预处理技术步骤如下:
连接数据库
给出sql模板
创建预处理对象,将SQL语句转为对象
检测当前的预处理语句是否正确
将变量与语句中的占位符进行绑定
执行SQL
注销预处理对象
关闭数据库连接