首頁 > 後端開發 > php教程 > php mysqli擴充庫之預處理操作的二個例子

php mysqli擴充庫之預處理操作的二個例子

WBOY
發布: 2016-07-25 08:56:22
原創
782 人瀏覽過
本文分享下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();
?>
登入後複製

例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();
?>
登入後複製


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板