PHP5中使用mysqli的prepare操作數(shù)據(jù)庫(kù)的介紹
php5中有了mysqli對(duì)prepare的支持,對(duì)于大訪問(wèn)量的網(wǎng)站是很有好處的,極大地降低了系統(tǒng)開(kāi)銷,而且保證了創(chuàng)建查詢的穩(wěn)定性和安全性。
PHP5.0后我們可以使用mysqli,mysqli對(duì)prepare的支持對(duì)于大訪問(wèn)量的網(wǎng)站是很有好處的,特別是事務(wù)的支持,在大查詢量的時(shí)候?qū)O大地降低了系統(tǒng)開(kāi)銷,而且保證了創(chuàng)建查詢的穩(wěn)定性和安全性,能有效地防止SQL注入攻擊。
prepare準(zhǔn)備語(yǔ)句分為綁定參數(shù)和綁定結(jié)果兩種。接下來(lái)具體介紹。
1、綁定參數(shù)
看下面php代碼:
<?php //創(chuàng)建連接 $mysqli=new mysqli("localhost","root","","123456"); //檢查連接是否被創(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 `codetc_msg`(mid,content) values(?,?)")){ /** * 第一個(gè)參數(shù)是綁定類型,"is"是指上面SQL語(yǔ)句中第一個(gè)?參數(shù)是int類型,第二個(gè)?參數(shù)是string類型 * 其中i指int,s指string, 除了i、s之外還有d代表雙精度浮點(diǎn)型,b代表blod類型等 */ $stmt->bind_param("is",$id,$content); //給變量賦值 $id = 1; $content = "這是插入的內(nèi)容"; //執(zhí)行準(zhǔn)備語(yǔ)句 $stmt->execute(); //顯示插入的影響行數(shù) echo "Row inserted".$stmt->affected_rows; //關(guān)閉數(shù)據(jù)庫(kù)的鏈接 $mysqli->close(); } ?>
2、綁定結(jié)果:綁定結(jié)果就是將你綁定的字段給php變量,以便必要時(shí)使用這些變量
請(qǐng)看下面的php代碼:
<?php //創(chuàng)建連接 $mysqli=new mysqli("localhost","root","","123456"); //設(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 `codetc_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(); } ?>
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- PHP PDO預(yù)處理語(yǔ)句及事務(wù)的使用
- PHP的PDO預(yù)處理語(yǔ)句與存儲(chǔ)過(guò)程
- php_pdo 預(yù)處理語(yǔ)句詳解
- PHP封裝類似thinkphp連貫操作數(shù)據(jù)庫(kù)Db類與簡(jiǎn)單應(yīng)用示例
- php pdo操作數(shù)據(jù)庫(kù)示例
- PHP入門(mén)教程之使用Mysqli操作數(shù)據(jù)庫(kù)的方法(連接,查詢,事務(wù)回滾等)
- PHP使用PDO操作數(shù)據(jù)庫(kù)的亂碼問(wèn)題解決方法
- PHP中使用匿名函數(shù)操作數(shù)據(jù)庫(kù)的例子
- PHP中的MYSQL常用函數(shù)(php下操作數(shù)據(jù)庫(kù)必備)
- php 使用預(yù)處理語(yǔ)句操作數(shù)據(jù)庫(kù)
相關(guān)文章
WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法
這篇文章主要介紹了WordPress中用于獲取文章信息以及分類鏈接的函數(shù)用法,分別是get_post()和get_category_link()的使用,需要的朋友可以參考下2015-12-12PHP getID3類的使用方法學(xué)習(xí)筆記【附getID3源碼下載】
這篇文章主要介紹了PHP getID3類的使用方法,結(jié)合實(shí)例形式分析了getID3類的原理、功能及簡(jiǎn)單使用技巧,并附帶了getID3類的源碼供讀者下載參考,需要的朋友可以參考下2019-10-10php 求質(zhì)素(素?cái)?shù)) 的實(shí)現(xiàn)代碼
php 求質(zhì)素(素?cái)?shù)) 的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-04-04PHP設(shè)計(jì)模式之模板方法模式Template Method Pattern詳解
在我們實(shí)際開(kāi)發(fā)中,如果一個(gè)方法極其復(fù)雜時(shí),如果我們將所有的邏輯寫(xiě)在一個(gè)方法中,那維護(hù)起來(lái)就很困難,要替換某些步驟時(shí)都要重新寫(xiě),這樣代碼的擴(kuò)展性就很差,當(dāng)遇到這種情況就要考慮今天的主角——模板方法模式2022-12-12php實(shí)現(xiàn)session共享的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于php如何實(shí)現(xiàn)session共享知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)參考下。2019-09-09PHP實(shí)現(xiàn)一個(gè)限制實(shí)例化次數(shù)的類示例
這篇文章主要介紹了PHP實(shí)現(xiàn)一個(gè)限制實(shí)例化次數(shù)的類,涉及php面向?qū)ο蟪绦蛟O(shè)計(jì)中靜態(tài)對(duì)象與靜態(tài)方法的相關(guān)使用技巧,需要的朋友可以參考下2019-09-09PHP使用PDO、mysqli擴(kuò)展實(shí)現(xiàn)與數(shù)據(jù)庫(kù)交互操作詳解
這篇文章主要介紹了PHP使用PDO、mysqli擴(kuò)展實(shí)現(xiàn)與數(shù)據(jù)庫(kù)交互操作,結(jié)合實(shí)例形式分析了PHP基于pdo和mysqli操作數(shù)據(jù)的相關(guān)使用技巧,需要的朋友可以參考下2019-07-07PHP實(shí)現(xiàn)的創(chuàng)建帶logo圖標(biāo)二維碼生成類詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)的創(chuàng)建帶logo圖標(biāo)二維碼生成類,結(jié)合實(shí)例形式分析了可生成帶logo的二維碼工具類PHPQRCode.class.php相關(guān)參數(shù)、功能與使用技巧,需要的朋友可以參考下2018-07-07