php mysqli扩展库之预处理操作

分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的。

例1、使用mysqli扩展库的预处理技术 mysqli stmt 向数据库添加3个用户

01 <?php
02 //mysqli扩展库 预处理技术
03 //1、创建mysqli对象
04 $mysqli new MySQLi("localhost","root","root","test");
05 if($mysqli->connect_error){
06 die($mysqli->conncet_error);
07 }
08 //2、创建预编译对象
09 $sql="insert into user1(name,password,email,age) values(?,?,?,?)";
10 $mysqli_stmt=$mysqli->prepare($sql);
11  
12 //绑定参数 www.jbxue.com
13 $name="小芳";
14 //$password=md5("ffff");
15 $password="123456";
16 $email="xiaofang@jbxue.com";
17 $age=18;
18  
19 //参数绑定->给?号赋值 这里类型和顺序要一致
20 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
21  
22 //执行
23 $b=$mysqli_stmt->execute();
24  
25 //继续添加
26 $name="小杨";
27 $password="123456";
28 $email="xiaoyang@jbxue.com";
29 $age=18;
30  
31 //参数绑定->给?号赋值 这里类型和顺序要一致
32 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
33  
34 //执行
35 $b=$mysqli_stmt->execute();
36  
37 //继续添加
38  
39 $name="小G";
40 $password="123456";
41 $email="xiaoG@jbxue.com";
42 $age=18;
43  
44 //参数绑定->给?号赋值 这里类型和顺序要一致
45 $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
46  
47 //执行
48 $b=$mysqli_stmt->execute();
49  
50 if(!$b){
51 echo "操作失败".$mysqli_stmt->error;
52 }else{
53 echo "操作成功";
54 }
55 //关闭预编译
56 $mysqli_stmt->close();
57 $mysqli->close();
58 ?>

例2、使用预处理查询id>5的用户id name email

01 <?php
02 //使用预处理查询id>5的用户id name email
03 $mysqli=new MySQLi("localhost","root","root","test");
04 if($mysqli->connect_error){
05 die($mysqli->connect_error);
06 }
07  
08 //创建预编译对象
09 $sql="select id,name,email from user1 where id>?";
10 $mysqli_stmt=$mysqli->prepare($sql);
11  
12 $id=5;
13 //绑定参数
14 $mysqli_stmt->bind_param("i",$id);
15 //绑定结果集
16 $mysqli_stmt->bind_result($id,$name,$email);
17 //执行
18 $mysqli_stmt->execute();
19  
20 //取出绑定的值
21 while($mysqli_stmt->fetch()){
22 echo "<br/>$id--$name--$email";
23 }
24  
25 //关闭资源
26 //释放结果
27 $mysqli_stmt->free_result();
28 //关闭与编译语句
29 $mysqli_stmt->close();
30 //关闭连接
31 $mysqli->close();
32 ?>
本文出处参考:http://www.jbxue.com/article/11825.html
原文地址:https://www.cnblogs.com/linuxnotes/p/3313374.html