分享下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 |
?> |