PHP5 mysqli的prepare準(zhǔn)備語(yǔ)句使用說(shuō)明
mysqli對(duì)prepare的支持對(duì)于大訪問(wèn)量的網(wǎng)站是很有好處的,它極大地降低了系統(tǒng)開銷,而且保證了創(chuàng)建查詢的穩(wěn)定性和安全性。prepare準(zhǔn)備語(yǔ)句分為綁定參數(shù)和綁定結(jié)果,下面將會(huì)一一介紹!
(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)建一個(gè)準(zhǔn)備查詢語(yǔ)句:
* ?是個(gè)通配符,可以用在任何有文字的數(shù)據(jù)
* 相當(dāng)于一個(gè)模板,也就是預(yù)備sql語(yǔ)句
*/
if ($stmt = $mysqli->prepare("insert into `vol_msg`(mid,content) values(?,?)")){
/*第一個(gè)參數(shù)是綁定類型,"s"是指一個(gè)字符串,也可以是"i",指的是int。也可以是"db",
* d代表雙精度以及浮點(diǎn)類型,而b代表blob類型,第二個(gè)參數(shù)是變量
*/
$stmt->bind_param("is",$id,$content);
//給變量賦值
$id = "";
$content = "這是插入的內(nèi)容";
//執(zhí)行準(zhǔn)備語(yǔ)句
$stmt->execute();
//顯示插入的語(yǔ)句
echo "Row inserted".$stmt->affected_rows;
//下面還可以繼續(xù)添加多條語(yǔ)句,不需要prepare預(yù)編譯了
//關(guān)閉數(shù)據(jù)庫(kù)的鏈接
$mysqli->close();
}
?>
以上php實(shí)例運(yùn)行結(jié)果:
Row inserted:1
(2).綁定結(jié)果:綁定結(jié)果就是將你綁定的字段給php變量,以便必要時(shí)使用這些變量
請(qǐng)看下面的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)備語(yǔ)句
if ($stmt = $mysqli->prepare("select mid,content from `vol_msg`")){
//執(zhí)行查詢
$stmt->execute();
//為準(zhǔn)備語(yǔ)句綁定實(shí)際變量
$stmt->bind_result($id,$content);
//顯示綁定結(jié)果的變量
while($stmt->fetch()){
echo "第".$id."條: ".$content."<br />";
}
//關(guān)閉數(shù)據(jù)庫(kù)的鏈接
$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ù)庫(kù)
- php使用mysqli向數(shù)據(jù)庫(kù)添加數(shù)據(jù)的方法
- php封裝的mysqli類完整實(shí)例
- php中數(shù)據(jù)庫(kù)連接方式pdo和mysqli對(duì)比分析
- PHP以mysqli方式連接類完整代碼實(shí)例
- PHP使用mysqli擴(kuò)展連接MySQL數(shù)據(jù)庫(kù)
- PHP+MariaDB數(shù)據(jù)庫(kù)操作基本技巧備忘總結(jié)
相關(guān)文章
小白安裝登錄mysql-8.0.19-winx64的教程圖解(新手必看)
這篇文章主要介紹了安裝登錄mysql-8.0.19-winx64的教程圖解,非常適合新手學(xué)習(xí)參考,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03mysql 獲取昨天日期、今天日期、明天日期以及前一個(gè)小時(shí)和后一個(gè)小時(shí)的時(shí)間
這篇文章主要介紹了mysql 獲取昨天日期、今天日期、明天日期以及前一個(gè)小時(shí)和后一個(gè)小時(shí)的時(shí)間,需要的朋友可以參考下2018-01-01MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)完整性
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)完整性開始2022-02-02Mysql 5.7.9 shutdown 語(yǔ)法實(shí)例詳解
之前如果想關(guān)閉一個(gè)mysql數(shù)據(jù)庫(kù)可以通過(guò)kill 命令、mysqladmin shutdown 、service mysqld stop 等這樣的方式。然而在mysql-5.7.9之后mysql終于提供了SQL接口的shutdown語(yǔ)法啦2017-06-06mysql性能優(yōu)化腳本mysqltuner.pl使用介紹
無(wú)意中發(fā)現(xiàn)了,major哥們開發(fā)的一個(gè)性能分析腳本,很有意思,可以通過(guò)這個(gè)腳本學(xué)學(xué)他的思想2013-02-02利用explain排查分析慢sql的實(shí)戰(zhàn)案例
在日常工作中,我們會(huì)有時(shí)會(huì)開慢查詢?nèi)ビ涗浺恍﹫?zhí)行時(shí)間比較久的SQL語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于利用explan排查分析慢sql的相關(guān)資料,需要的朋友可以參考下2022-04-04MySQL實(shí)現(xiàn)樂(lè)觀鎖的方式詳解
在 MySQL 中,可以通過(guò)使用樂(lè)觀鎖來(lái)實(shí)現(xiàn)并發(fā)控制,以避免數(shù)據(jù)沖突和并發(fā)更新問(wèn)題,樂(lè)觀鎖是一種樂(lè)觀的思想,它假設(shè)并發(fā)操作不會(huì)導(dǎo)致沖突,只有在提交更新時(shí)才會(huì)檢查是否發(fā)生沖突,本文給大家介紹了Mysql如何實(shí)現(xiàn)樂(lè)觀鎖,需要的朋友可以參考下2023-09-09