欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysqli預處理編譯的深入理解

 更新時間:2012年12月06日 17:22:51   作者:  
記得以前寫過mysqli的預處理的php教程,現(xiàn)在整理一下,需要的朋友可以參考

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

復制代碼 代碼如下:

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

相關文章

  • mysql下為數(shù)據(jù)庫設置交叉權限的方法

    mysql下為數(shù)據(jù)庫設置交叉權限的方法

    由于 SupeSite 需要調(diào)用 Discuz! 和 UCHome 的數(shù)據(jù),所以如果它們不安裝在同一個數(shù)據(jù)庫,SupeSite 的數(shù)據(jù)庫用戶必須要對 Discuz! 和 UCHome 的數(shù)據(jù)庫有讀取、修改、刪除等權限。
    2011-07-07
  • php+mysql prepare 與普通查詢的性能對比實例講解

    php+mysql prepare 與普通查詢的性能對比實例講解

    prepare可以解決大訪問量的網(wǎng)站給數(shù)據(jù)庫服務器所帶來的負載和開銷,本文章通過實例向大家介紹預查詢prepare與普通查詢的性能對比,需要的朋友可以參考一下
    2016-11-11
  • 詳解mysql表數(shù)據(jù)壓縮

    詳解mysql表數(shù)據(jù)壓縮

    mysql進行壓縮是借助于zlib庫,采用L777壓縮算法,這種算法在減少數(shù)據(jù)大小、CPU利用方面是成熟的、健壯的、高效的,這篇文章主要介紹了mysql表數(shù)據(jù)壓縮,需要的朋友可以參考下
    2022-01-01
  • You must SET PASSWORD before executing this statement的解決方法

    You must SET PASSWORD before executing this statement的解決方法

    今天在MySql5.6操作時報錯:You must SET PASSWORD before executing this statement解決方法,需要的朋友可以參考下
    2013-06-06
  • 使用Grafana+Prometheus監(jiān)控mysql服務性能

    使用Grafana+Prometheus監(jiān)控mysql服務性能

    這篇文章主要介紹了使用Grafana+Prometheus監(jiān)控mysql服務性能的相關知識,本文給大家介紹的非常詳細,對大家的工作或?qū)W習具有一定的參考借鑒價值,需要的朋友可以參考下方法
    2020-03-03
  • MySQL與PHP的基礎與應用專題之數(shù)據(jù)控制

    MySQL與PHP的基礎與應用專題之數(shù)據(jù)控制

    MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎應用,本篇帶你了解數(shù)據(jù)控制
    2022-02-02
  • 淺談MySQL中用什么數(shù)據(jù)類型存IP地址

    淺談MySQL中用什么數(shù)據(jù)類型存IP地址

    MySQL中用什么數(shù)據(jù)類型存IP地址?在MySQL中,當存儲IPv4地址時,應該使用32位的無符號整數(shù)來存儲IP地址,而不是使用字符串,本文就介紹一下這幾種情況,感興趣的可以了解一下
    2023-08-08
  • mysql亂碼問題分析與解決方法

    mysql亂碼問題分析與解決方法

    開發(fā)過程中總避免不了遇到惡心的亂碼,或者由亂碼引發(fā)的一系列問題,這里簡要介紹一下自己遇到的亂碼問題和解決問題的過程中的想法以及大致的操作
    2012-11-11
  • SQL Server 數(shù)據(jù)庫的備份詳細介紹及注意事項

    SQL Server 數(shù)據(jù)庫的備份詳細介紹及注意事項

    這篇文章主要介紹了SQL Server 備份詳細介紹及注意事項的相關資料,需要的朋友可以參考下
    2016-12-12
  • 一文帶你了解MySQL中的子查詢

    一文帶你了解MySQL中的子查詢

    子查詢指一個查詢語句嵌套在另一個查詢語句內(nèi)部的查詢,這個特性從MySQL 4.1開始引入,SQL中子查詢的使用大大增強了SELECT 查詢的能力,本文帶大家詳細了解MySQL中的子查詢,需要的朋友可以參考下
    2023-06-06

最新評論