您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“php+mysqli預(yù)處理技術(shù)如何實(shí)現(xiàn)添加、修改及刪除多條數(shù)據(jù)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“php+mysqli預(yù)處理技術(shù)如何實(shí)現(xiàn)添加、修改及刪除多條數(shù)據(jù)”這篇文章吧。
具體分析如下:
首先來(lái)說(shuō)說(shuō)為什么要有預(yù)處理(預(yù)編譯)技術(shù)?舉個(gè)例子:假設(shè)要向數(shù)據(jù)庫(kù)添加100個(gè)用戶,按常規(guī)思路,就是向數(shù)據(jù)庫(kù)發(fā)送100個(gè)執(zhí)行請(qǐng)求,此時(shí),按照 mysql 數(shù)據(jù)庫(kù)的工作原理,它需要對(duì)每一條執(zhí)行語(yǔ)句進(jìn)行編譯(這里就有100次)。所以,這里的效率是非常低的。
預(yù)處理(預(yù)編譯)技術(shù)的作用,就是減少編譯的次數(shù)和時(shí)間,以提高效果。通過(guò)一個(gè)案例來(lái)說(shuō)明,預(yù)處理(預(yù)編譯)技術(shù)是如何做到的(好吧,先說(shuō)清楚,當(dāng) php 程序第一次發(fā)送 sql 語(yǔ)句時(shí),mysql 數(shù)據(jù)庫(kù)就編譯好,到了后面99次,php只要發(fā)送數(shù)據(jù)過(guò)去即可,不需要再進(jìn)行編譯)。
<?php //1、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象 $mysqli = new MySQLi("localhost","root","123456","liuyan"); if($mysqli->connect_error){ die($mysqli->connect_error); } $mysqli->query("set names 'GBK'"); //2、創(chuàng)建預(yù)編譯對(duì)象 $sql = "insert into account(id,balance) values(?,?)"; //這里用 ? 來(lái)代替要插入的數(shù)據(jù)值 $stmt = $mysqli->prepare($sql); //返回一個(gè)statement對(duì)象,對(duì)象中的方法見(jiàn)手冊(cè) MySQLi_STMT //3、綁定參數(shù)(需要插入的數(shù)據(jù)),并執(zhí)行 $id=null;//這里我數(shù)據(jù)庫(kù)設(shè)置成了 primary key auto_increment $balance=100.5; $stmt->bind_param("id",$id,$balance); //綁定參數(shù),返回值為布爾值。"if"按順序代表插入數(shù)據(jù)的數(shù)據(jù)類型 //這里$id為int,用i表示,$balance為float型,用d表示,具體見(jiàn)手冊(cè) $res = $stmt->execute();//執(zhí)行語(yǔ)句,返回值為布爾類型 //4、判斷是否執(zhí)行成功 if(!$res){ echo "數(shù)據(jù)插入失敗,balance值為:".$balance; }else{ echo "成功"; } /* *****插入第二條數(shù)據(jù) */ //3、綁定參數(shù)(需要插入的數(shù)據(jù)),并執(zhí)行 $id=null;//這里我數(shù)據(jù)庫(kù)設(shè)置成了 primary key auto_increment $balance=400.3; $stmt->bind_param("id",$id,$balance); //綁定參數(shù),返回值為布爾值。"if"按順序代表插入數(shù)據(jù)的數(shù)據(jù)類型 //這里$id為int,用i表示,$balance為float型,用d表示。 $res = $stmt->execute();//執(zhí)行語(yǔ)句,返回值為布爾類型 //4、判斷是否執(zhí)行成功 if(!$res){ echo "數(shù)據(jù)插入失敗,balance值為:".$balance; }else{ echo "成功"; } ?>
以上是“php+mysqli預(yù)處理技術(shù)如何實(shí)現(xiàn)添加、修改及刪除多條數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。