? MySQL og MySQLi er to nyttige teknologier hvis du utvikler en interaktiv webside med Hypertext Preprocessor eller PHP, skriptspråk. Som navnene antyder , både MySQL og MySQLi stole på strukturert spørrespråk , eller SQL, som er et standardisert system for å be om informasjon fra databaser . Men til tross for disse generelle likheter, de to teknologiene har sine forskjeller , som MySQL er en eldre, mer grunnleggende PHP -teknologi , mens MySQLi er nyere og har mer avanserte funksjoner. Bakgrunn
Oracle Corporation datterselskap , MySQL AB , først utgitt MySQL teknologi i 1995 . Per 2011 utviklere vanligvis bare bruke den når du arbeider med PHP versjon 4.1.3 eller eldre. Mens MySQL kunne jobbe med nyere versjoner av PHP , kan det ikke utnytte de nyere funksjonene knyttet til de nyere versjoner av PHP.
MySQL AB utgitt MySQLi , også kjent som "MySQL Forbedret ", i 2004. MySQLi er kompatibel med PHP versjon 4.1.3 og nyere, slik at det å dra nytte av nye PHP funksjoner .
RDBMS vs Driver
MySQL er en rasjonell database management system , eller RDBMS , noe som betyr at den kan lagre data som relaterte tabeller og spre enkle databaser over flere ulike tabeller . Teknologien krever ikke grafisk brukergrensesnitt , eller GUI , verktøy for å administrere databaser eller dataene i dem . I kontrast er MySQLi ikke en frittstående RDBMS , men snarere en RDBMS driver. Dette betyr at MySQLi utvider funksjonene - og styrer operasjonene - . Av MySQL , men krever MySQL som sin base eller vertssystemet
Prosessuelle vs Object - Oriented
Mens MySQL kun gir brukerne en prosessuell program - programming interface , eller API , gir MySQLi brukere med både en prosessuell API og objektorientert API. Et API definerer variabler, funksjoner , metoder og klasser som programmer trenger for å utføre oppgavene . Mens en prosessuell API krever at en bruker samtalefunksjoner å fullføre oppgaver , med et objektorientert API , instantiates en bruker - eller gir eksempler på - klasser og deretter kaller metoder basert på de objektene som resultat. Som de offisielle PHP nettstedet notater , de fleste utviklere foretrekker protestert - orientert APIer , som de er mer moderne og gir mulighet for koder med overlegen organisasjon .
Forbedringer
Ved hjelp av sin innvendes - orientert API , inkluderer MySQLi forbedrede funksjoner som MySQL ikke . For eksempel kan MySQLi støtter klient - og server-side forberedte uttalelser , inkludert flere utsagn . Uttalelser er instruksjoner skrevet i høyt nivå databehandling språk, som Pascal , C og Fortran . Ved hjelp av disse språk gir mulighet for etablering av mer dynamiske websider . I motsetning til MySQL , støtter MySQLi også tegnsett , som er et system for koding tegn , og transaksjonsbehandling , som lar en datamaskin til å svare umiddelbart på brukerens input forespørsler.