国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysqli預處理編譯的深入理解

2020-01-18 23:53:48
字體:
來源:轉載
供稿:網友

記得以前php點點通也寫過mysqli的預處理的php教程,那時候只是看書亂寫的,沒懂原理,數月過后,突然明白了很多:
想想看。假如我們要插入很多1000個用戶,你怎么做,for循環?還是mysqli處理多條sql? no!這些處理很慢的,php里面有很多操作mysql數據庫的函數,無非是把sql語句傳遞給mysql數據庫,真正處理sql語句的是mysql,mysql數據庫是要編譯sql語句進行執行的,上面這兩種操作會對相同的sql語句進行多次編譯,有這必要嗎?程序員總是很聰明的,于是有了mysqli預處理技術!mysqli還能防止sql注入攻擊!
看看下面這個預編譯代碼:

復制代碼 代碼如下:

<?php
//創建連接
$mysqli=new mysqli("localhost","root","","test");
//設置mysqli編碼
mysqli_query($mysqli,"SET NAMES utf8");
//檢查連接是否被創建
if (mysqli_connect_errno()) {
printf("Connect failed:".mysqli_connect_error());
exit();
}
//創建準備語句
$stmt = $mysqli->prepare("select id,username from `user` where `id` > ?");
/*************************************************************/
$id=5;
//綁定參數
$stmt->bind_param("i",$id);
//綁定結果集
$stmt->bind_result($id,$username);
//執行查詢
$stmt->execute();
//顯示綁定結果的變量
while($stmt->fetch()){
echo "第".$id."個用戶: ".$username."<br />";
}
/**************************************************************/
/*www.phpddt.com為你提示:上面*之間的內容可以重復執行類似功能,不需要再次編譯了*/
//釋放結果
$stmt->free_result();
//關閉編譯語句
$stmt->close();
//關閉數據庫的鏈接
$mysqli->close();
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高州市| 河西区| 洪洞县| 石嘴山市| 长寿区| 玛纳斯县| 南投市| 犍为县| 成安县| 衡阳市| 昌邑市| 太谷县| 辽源市| 朔州市| 绥宁县| 桑植县| 阳高县| 宣城市| 桑日县| 阆中市| 皋兰县| 墨江| 全州县| 神木县| 清远市| 临西县| 长岛县| 越西县| 封开县| 嫩江县| 姜堰市| 马鞍山市| 金沙县| 台中县| 六枝特区| 防城港市| 若尔盖县| 泾阳县| 松江区| 濉溪县| 鱼台县|