本文分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的。
例1、使用mysqli扩展库的预处理技术 mysqli stmt 向数据库添加3个用户 <?php //mysqli扩展库 预处理技术 //1、创建mysqli对象 $mysqli = new MySQLi("localhost","root","root","test"); if($mysqli->connect_error){ die($mysqli->conncet_error); } //2、创建预编译对象 $sql="insert into user1(name,password,email,age) values(?,?,?,?)"; $mysqli_stmt=$mysqli->prepare($sql); //绑定参数 bbs.it-home.org $name="小芳"; //$password=md5("ffff"); $password="123456"; $email="xiaofang@jbxue.com"; $age=18; //参数绑定->给?号赋值 这里类型和顺序要一致 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); //执行 $b=$mysqli_stmt->execute(); //继续添加 $name="小杨"; $password="123456"; $email="xiaoyang@jbxue.com"; $age=18; //参数绑定->给?号赋值 这里类型和顺序要一致 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); //执行 $b=$mysqli_stmt->execute(); //继续添加 $name="小G"; $password="123456"; $email="xiaoG@jbxue.com"; $age=18; //参数绑定->给?号赋值 这里类型和顺序要一致 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age); //执行 $b=$mysqli_stmt->execute(); if(!$b){ echo "操作失败".$mysqli_stmt->error; }else{ echo "操作成功"; } //关闭预编译 $mysqli_stmt->close(); $mysqli->close(); ?> Copier après la connexion 例2、使用预处理查询id>5的用户id name email <?php //使用预处理查询id>5的用户id name email $mysqli=new MySQLi("localhost","root","root","test"); if($mysqli->connect_error){ die($mysqli->connect_error); } //创建预编译对象 $sql="select id,name,email from user1 where id>?"; $mysqli_stmt=$mysqli->prepare($sql); $id=5; //绑定参数 $mysqli_stmt->bind_param("i",$id); //绑定结果集 $mysqli_stmt->bind_result($id,$name,$email); //执行 $mysqli_stmt->execute(); //取出绑定的值 while($mysqli_stmt->fetch()){ echo "<br/>$id--$name--$email"; } //关闭资源 //释放结果 $mysqli_stmt->free_result(); //关闭与编译语句 $mysqli_stmt->close(); //关闭连接 $mysqli->close(); ?> Copier après la connexion |