用途
通常用在重複執行一個查詢,但是每次迭代使用的參數不同
分類
+綁定參數:一般用在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();