MySQL vs MySQLi Extension
MySQL er et populært Relational Database Management System (RDBMS). Det er en open source DBMS, der bruges meget selv i store virksomheder som Wikipedia, Google og Facebook. PHP (står for PHP: Hypertext Preprocessor) er et scriptsprog på serversiden, specielt velegnet til udvikling af dynamiske og interaktive websider. MySQL og MySQLi er to udvidelser, der er beregnet til interaktion mellem PHP-applikationer og MySQL-databaser. Disse to udvidelser er implementeret ved hjælp af PHP-udvidelsesrammerne, og disse giver en API (Application Programming Interface) til PHP-programmører for at interagere med MySQL-databaser.
Hvad er MySQL-udvidelse?
MySQL Extension er den første udvidelse til udvikling af PHP-applikationer, som kan bruges til at interagere med MySQL-databaser. Dette giver en proceduremæssig grænseflade for PHP-programmører til at interagere med MySQL-databaser. Denne udvidelse er beregnet til kun at blive brugt med MySQL-versioner, der er ældre end version 4.1.3. Selvom dette kunne bruges med MySQL version 4.1.3 eller nyere, vil nogen af de nye funktioner i disse versioner ikke være tilgængelige. I øjeblikket sker der ingen aktiv udvikling på MySQL Extension, og det anbefales ikke til nye projekter. Yderligere MySQL Extension understøtter ikke forberedte sætninger på serversiden eller forberedte erklæringer på klientsiden. Den understøtter heller ikke lagrede procedurer eller tegnsæt.
Hvad er MySQLi Extension?
MySQLi Extension (også kaldet den forbedrede MySQL-udvidelse) er den nye udvidelse, der er tilvejebragt til udvikling af PHP-applikationer, der kan interagere med MySQL-databaser. Denne udvidelse er udviklet for at få den maksimale brug af funktioner, der er tilgængelige i MySQL version 4.1.3 eller nyere. MySQLi Extension er først indarbejdet med PHP version 5 og inkluderet i alle de senere versioner. Ud over at give en proceduremæssig grænseflade til PHP-programmører, tilbyder MySQLi Extension også en objektorienteret grænseflade. Dette giver også støtte til klargjorte erklæringer på klient-/serversiden og flere sætninger. Desuden understøtter den tegnsæt og lagrede procedurer.
Hvad er forskellen mellem MySQL og MySQLi Extension?
Selv om både MySQL Extension og MySQLi Extension er udvidelser til udvikling af PHP-applikationer, der kan interagere med MySQL-databaser, har MySQLi Extension nogle vigtige forbedringer i forhold til MySQL-udvidelsen. For det første anbefales MySQL Extension at blive brugt med MySQL versioner, der er ældre end 4.1.3, mens MySQLi Extension anbefales at blive brugt med MySQL version 4.1.3 eller nyere. Desuden er MySQLi Extension kun indarbejdet med PHP 5 eller nyere versioner. MySQL Extension giver kun en proceduremæssig grænseflade til PHP-programmører, mens MySQLi Extension giver en objektorienteret grænseflade (ud over den proceduremæssige grænseflade). Ydermere giver MySQLi Extension understøttelse af forberedte udsagn og flere udsagn, som ikke blev understøttet i MySQL Extension. MySQLi Extension giver forbedrede fejlfindingsmuligheder sammenlignet med MySQL Extension. Derudover giver MySQLi Extension indlejret serversupport og transaktionssupport, som ikke var tilgængelige i MySQL Extension. Selvom MySQL Extension kunne bruges med MySQL version 4.1.3 eller nyere, vil nogen af de nye funktioner inkluderet i disse MySQL versioner ikke være tilgængelige.