PHP5 mysqli的prepare準(zhǔn)備語句使用說明
mysqli對prepare的支持對于大訪問量的網(wǎng)站是很有好處的,它極大地降低了系統(tǒng)開銷,而且保證了創(chuàng)建查詢的穩(wěn)定性和安全性。prepare準(zhǔn)備語句分為綁定參數(shù)和綁定結(jié)果,下面將會一一介紹!
(1)綁定參數(shù)
看下面php代碼:
<?php
//創(chuàng)建連接
$mysqli=new mysqli("localhost","root","","volunteer");
//檢查連接是否被創(chuàng)建
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/*
* 創(chuàng)建一個準(zhǔn)備查詢語句:
* ?是個通配符,可以用在任何有文字的數(shù)據(jù)
* 相當(dāng)于一個模板,也就是預(yù)備sql語句
*/
if ($stmt = $mysqli->prepare("insert into `vol_msg`(mid,content) values(?,?)")){
/*第一個參數(shù)是綁定類型,"s"是指一個字符串,也可以是"i",指的是int。也可以是"db",
* d代表雙精度以及浮點類型,而b代表blob類型,第二個參數(shù)是變量
*/
$stmt->bind_param("is",$id,$content);
//給變量賦值
$id = "";
$content = "這是插入的內(nèi)容";
//執(zhí)行準(zhǔn)備語句
$stmt->execute();
//顯示插入的語句
echo "Row inserted".$stmt->affected_rows;
//下面還可以繼續(xù)添加多條語句,不需要prepare預(yù)編譯了
//關(guān)閉數(shù)據(jù)庫的鏈接
$mysqli->close();
}
?>
以上php實例運行結(jié)果:
Row inserted:1
(2).綁定結(jié)果:綁定結(jié)果就是將你綁定的字段給php變量,以便必要時使用這些變量
請看下面的php代碼:
<?php
//創(chuàng)建連接
$mysqli=new mysqli("localhost","root","","volunteer");
//設(shè)置mysqli編碼
mysqli_query($mysqli,"SET NAMES utf8");
//檢查連接是否被創(chuàng)建
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//創(chuàng)建準(zhǔn)備語句
if ($stmt = $mysqli->prepare("select mid,content from `vol_msg`")){
//執(zhí)行查詢
$stmt->execute();
//為準(zhǔn)備語句綁定實際變量
$stmt->bind_result($id,$content);
//顯示綁定結(jié)果的變量
while($stmt->fetch()){
echo "第".$id."條: ".$content."<br />";
}
//關(guān)閉數(shù)據(jù)庫的鏈接
$mysqli->close();
}
?>
- ubuntu14.04LTS安裝nginx+mariaDB+php7+YAF的方法
- 在Mac OS上編譯安裝Nginx+PHP+MariaDB開發(fā)環(huán)境的教程
- CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安裝教程詳解
- php開啟mysqli擴(kuò)展之后如何連接數(shù)據(jù)庫
- php使用mysqli向數(shù)據(jù)庫添加數(shù)據(jù)的方法
- php封裝的mysqli類完整實例
- php中數(shù)據(jù)庫連接方式pdo和mysqli對比分析
- PHP以mysqli方式連接類完整代碼實例
- PHP使用mysqli擴(kuò)展連接MySQL數(shù)據(jù)庫
- PHP+MariaDB數(shù)據(jù)庫操作基本技巧備忘總結(jié)
相關(guān)文章
mysql實現(xiàn)事務(wù)的提交與回滾的實例詳解
在本篇文章中我們給大家分享一篇關(guān)于mysql實現(xiàn)事務(wù)的提交與回滾的實例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。2020-01-01
安裝MySQL時,輸入mysqld --install后,顯式該文件已存在問題
這篇文章主要介紹了安裝MySQL時,輸入mysqld --install后,顯式該文件已存在問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
MySQL通過觸發(fā)器解決數(shù)據(jù)庫中表的行數(shù)限制詳解及實例
這篇文章主要介紹了MySQL通過觸發(fā)器解決數(shù)據(jù)庫中表的行數(shù)限制詳解及實例的相關(guān)資料,需要的朋友可以參考下2017-04-04
mysql Access denied for user ‘root’@’localhost’ (using passw
這篇文章主要介紹了mysql Access denied for user ‘root’@’localhost’ (using password: YES)解決方法,本文給出詳細(xì)的解決步驟及操作注釋,需要的朋友可以參考下2015-07-07
Mysql誤刪數(shù)據(jù)解決方案及kill語句原理
這篇文章主要介紹了Mysql誤刪數(shù)據(jù)解決方案及kill語句原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09

