Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

PHP MySQL Vs . MySQLi

verzia PHP verzia 5 vrátane nové rozšírenie pre prístup k MySQL databáz MySQL s názvom Lepšie , alebo MySQLi . MySQLi ponúka vyšší výkon , štruktúru objektovo - orientovaný , podporu pripravených výkazov a ďalších funkcií v podobe databázových transakcií . Aktuálne MySQL rozšírenie nebude posilnená , napríklad poskytnúť podporu unicode , a nakoniec bude vyradený začína s PHP verzie 6. Object - Oriented Štruktúra

MySQLi poskytuje sadu funkcií pre kódu štruktúry procedurálne štýl , aby sa prechod z MySQL jednoduchšie . Avšak , to tiež poskytuje funkcie pomocou súboru objektovo orientovaných tried . Použitie objektovo - orientovaný štýl môže integrácia MySQL hodí lepšie s PHP verzia 5 objektovo orientovaných rysov a často eliminuje potrebu vytvoriť ďalšie premenné na podporu operácií MySQL a úlohy . Napríklad nasledujúci kód ukazuje pripojenie na databázový server a otvorení databázy v oboch MySQL a MySQLi : MySQL : $ DBC = mysql_connect ( " localhost " , " user " , " heslo " ) ; $ db = mysql_select_database ( " databáza " ) ;

MySQLi : $ db = new mysqli ( " localhost " , " user " , " heslo " , " databáza " ) ;

pripravené závierka

Snáď najväčší rozdiel medzi MySQL a MySQLi je podpora mysqli pre pripravené príkazy . S MySQL , budete musieť venovať osobitnú pozornosť uniknúť každý reťazec použitý v dotaze , aby sa zabránilo SQL injection útokov . S MySQLi a pripravených príkazov , zviazať sadu parametrov dotazu a nastaviť parametre rovnaké pre rôzne hodnoty , ktoré chcete použiť v dotaze . MySQLi sa postará o to , aby všetci kód je správne utiekli pred tým , než sa aplikuje do databázy . Napríklad nasledujúci kód pridáva dve recrods do tabuľky MySQL pomocou MySQLi : ? ?

$ Stmt = $ db - > prepare ( " INSERT INTO ĽUDÍ ( meno , e - mail ) hodnoty ( , ) ; $ stmt - > bind_param ( " ss " , $ fullname , $ email ) ; $ fullname = " John Johnson " , $ email = " john@johnjohnson.com " ; $ stmt - > execute ( ) ; $ fullname = " Mary Johnson " , $ email = " mary@johnjohnson.com " ; $ stmt - > execute ( ) , $ stmt - > close ( ) ;
účinnosť zlepšenie

Vzhľadom k tomu , pripravených výkazov a ďalších zlepšení efektívnosti, rozšírení MySQLi by mal vykonávať rýchlejšie , než podobné vyhlásenie MySQL . ako môžete vidieť z predchádzajúceho príkladu pomocou pripravené vyhlásenie , je nutné iba réžia vložky raz , keď sa pripravuje vyhlásenie . ekvivalentným MySQL vložkou , horná vložky sa bude opakovať s každým dotazom vložiť do databázy .
Transakcie

MySQLi poskytuje ďalšie funkcie v podobe transakcií . S rozšírením MySQLi , môžete zväzok sadu dátových operácií spolu do obchodu a vykonávať činnosti spoločne ako jediná transakcia . Ak jedna operácia v transakcii zlyhá , celá operácia zlyhá a akékoľvek zmeny , ktoré boli vykonané , sú vrátená späť . Napríklad , môžete pri programovaní prevode peňazí medzi dvoma účtami , pretože ak sa obe strany na prevádzku uspieť , operácia nie je úspechom použiť transakciu , a nechcete , aby nechať stáť , kde má jeden účet bola suma odpísaná , ale druhý účet nebol pripísaný .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené