分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的。
本文出处参考:
http://www.jbxue.com/article/11825.html
例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 | ?> |