分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的。
例1、使用mysqli扩展库的预处理技术 mysqli stmt 向数据库添加3个用户
04 |
$mysqli = new MySQLi( "localhost" , "root" , "root" , "test" );
|
05 |
if ( $mysqli ->connect_error){
|
06 |
die ( $mysqli ->conncet_error);
|
09 |
$sql = "insert into user1(name,password,email,age) values(?,?,?,?)" ;
|
10 |
$mysqli_stmt = $mysqli ->prepare( $sql );
|
14 |
//$password=md5("ffff"); |
16 |
$email = "xiaofang@jbxue.com" ;
|
19 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
20 |
$mysqli_stmt ->bind_param( "sssi" , $name , $password , $email , $age );
|
23 |
$b = $mysqli_stmt ->execute();
|
28 |
$email = "xiaoyang@jbxue.com" ;
|
31 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
32 |
$mysqli_stmt ->bind_param( "sssi" , $name , $password , $email , $age );
|
35 |
$b = $mysqli_stmt ->execute();
|
41 |
$email = "xiaoG@jbxue.com" ;
|
44 |
//参数绑定->给?号赋值 这里类型和顺序要一致 |
45 |
$mysqli_stmt ->bind_param( "sssi" , $name , $password , $email , $age );
|
48 |
$b = $mysqli_stmt ->execute();
|
51 |
echo "操作失败" . $mysqli_stmt ->error;
|
56 |
$mysqli_stmt ->close();
|
例2、使用预处理查询id>5的用户id name email
02 |
//使用预处理查询id>5的用户id name email |
03 |
$mysqli = new MySQLi( "localhost" , "root" , "root" , "test" );
|
04 |
if ( $mysqli ->connect_error){
|
05 |
die ( $mysqli ->connect_error);
|
09 |
$sql = "select id,name,email from user1 where id>?" ;
|
10 |
$mysqli_stmt = $mysqli ->prepare( $sql );
|
14 |
$mysqli_stmt ->bind_param( "i" , $id );
|
16 |
$mysqli_stmt ->bind_result( $id , $name , $email );
|
18 |
$mysqli_stmt ->execute();
|
21 |
while ( $mysqli_stmt ->fetch()){
|
22 |
echo "<br/>$id--$name--$email" ;
|
27 |
$mysqli_stmt ->free_result();
|
29 |
$mysqli_stmt ->close();
|
本文出处参考:http://www.jbxue.com/article/11825.html