mysqli

 

一.mysqli的好處

  1. 安全:防止sql注入

Sql注入:就是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令php

Eg:登錄表單傳回帳戶名與密碼,而後使用sql語句去查詢html

$pwd=&_POST[‘pwd’];mysql

$name=$_POST[‘name’];sql

$sql=」 select * from login where pwd= 」+$pwd+」 and name =」+$name+」 」;數據庫

正常這樣驗證沒有問題,可是遇到別人惡意sql注入時;例如別人提交的表單中pwd的值爲:‘ or 1=1 ’時;apache

Sql語句變爲:select * from login where pwd =。。。 and name = or 1=1 」;數組

這樣sql恆爲真,不須要正確的帳號與密碼就惡意登錄了安全

使用mysqli時可使用預處理語句(相似jdbc):服務器

 

 

  1. 快速:一條sql只解析一次

.mysqlmysqli的區別

1. mysqli鏈接是永久鏈接,而mysql是非永久鏈接。app

mysql鏈接:每當第二次使用的時候,都會從新打開一個新的進程。

mysqli鏈接:一直都只使用同一個進程。
好處:這樣就能夠很大程度的減輕服務器壓力。

 

2.mysql_connectmysql_pconnectmysqli_connect
    mysql_pconnect打開的鏈接不會關閉(即便調用mysql_close也不會關閉,由於對其無效),
    相似於鏈接緩衝池,若是下次有來自於同一個機器的同一個用戶名
    對同一個數據庫的鏈接,php會自動使用上次已經創建的鏈接,而不須要再從新創建一個。?
    好處:是省去了每次與數據庫創建鏈接的開銷,
    壞處:是須要浪費一些內存,佔用一些鏈接,
    因此若是用戶訪問量大的時候會出現錯誤,要把mysqlmax_connections參數改大一點,?或者使用mysql_connect()就解決問題。

     connectpconnect不會帶來功能的差別,?只有性能上的差異.
   通常php有倆種運行模式,?一是做爲cgi運行,?二是做爲apache的模塊運行.?
    做爲cgi的時候connectpconnect沒什麼不一樣,?由於每次cgi進行運行結束後都會被銷燬清理掉資源

 

三:mysqli的經常使用函數與經常使用用法

鏈接與基本使用見data_run

多條語句查詢見demo1

返回索引數組關聯數組等見PHP.php

四:mysqli的樣例演示

kq代碼

 

 

pdo擴展page.class.php

PHP.page.class.php

相關文章
相關標籤/搜索