用途
通常用在重复执行一个查询,但是每次迭代使用的参数不同
分类
+绑定参数:一般用在INSERT,UPDATE,DELETE中
+绑定结果:一般用在SELECT语句中
使用方法
1.初始化stmt对象执行的语句
$stmt=$mysqli->stmt_init();
2.准备执行语句
$stmt=prepare($query);
3.执行准备语句
$stmt->execute();
4.回收准备语句资源
$stmt->close()
5.绑定参数
$stmt->bind_param(String types,var1,....)
*ps:type有d(double/float),i(integer),b(blob),s(ohter)*
6.绑定结果(绑定变量)
$stmt->bind_result(var1,....);
7.从准备语句获取每行,并将相应字段赋给绑定结果
$stmt->fetch();
例子
绑定变量
<?php
$mysqli=new mysqli('localhost','user','123456','test');
$query="INSERT INTO table SET var1=?,var2=?,var3=?";
$stmt=$mysqli->stmt_init();
$stmt->prepare($query);
$stmt->bind_param("ssd",$var1, $var2,$var3);
$stmt->execute();
$stmt->close();
$mysqli->close();
绑定结果
<?php
$mysqli=new mysqli('localhost','user','123456','test');
$query="SELECT var1,var2,var3 FROM table";
$stmt=$mysqli->stmt_init();
$stmt->prepare($query);
$stmt->execute();
$stmt->bind_result($var1, $var2,$var3);
while($stmt->fetch())
echo $var1.$var2,$var3;
$stmt->close();
$mysqli->close();