PHP är ett allmänt skriptspråk med öppen källkod, som används i stor utsträckning för att skapa dynamiska och interaktiva webbsidor. PHP kan komma åt ett stort utbud av relationsdatabashanteringssystem som t.ex MYSQL, SQLite , och PostgreSQL . De PHP 5.1 versionen erbjöd ett nytt abstraktionsbibliotek för databasanslutningar, vilket är PHP-dataobjekt (SUB).
Vad är PDO?
PDO avser PHP-dataobjekt , som är ett PHP-tillägg som definierar ett lätt och konsekvent gränssnitt för åtkomst till en databas i PHP. Det är en uppsättning PHP-tillägg som tillhandahåller en grundläggande PDO-klass och databasspecifik drivrutin. Varje databasdrivrutin kan exponera databasspecifika funktioner som en vanlig tilläggsfunktion som implementerar PDO-gränssnittet.
Obs: Vi kan inte utföra någon typ av databasfunktion genom att använda själva PDO-tillägget. För att komma åt en databasserver måste vi använda en databasspecifik PDO-drivrutin.
PDO fokuserar främst på dataåtkomstabstraktion snarare än databasabstraktion. Det ger dataåtkomstabstraktionslager , vilket innebär att vi, oavsett vilken databas vi använder, måste använda samma funktioner som den databasen tillhandahåller för att skicka frågor och hämta data. PDO tillhandahåller inte dataabstraktion, eftersom den inte skriver om SQL eller emulerar saknade funktioner.
Fördel med PDO
PDO ger olika sätt att arbeta med objekt och hämtar färdiga utlåtanden som underlättar arbetet mycket. Det är ett databasåtkomstverktyg i PHP genom vilket vi möjliggör enhetlig åtkomst över flera databaser.
PDO tillåter jämförelsevis sömlös växling mellan olika databaser och plattformar, vilket enkelt kan göras genom att ändra anslutningssträngen. Det stöder inte databasspecifika syntaxer.
Det finns några fördelar med PDO enligt följande:
PDO-tillägget kan komma åt vilken databas som helst som är skriven för PDO-drivrutinen. Det finns flera PDO-drivrutiner tillgängliga som används för FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , och PostgreSQL databaser, bland många fler.
Drivrutinerna är inte tillgängliga i alla system automatiskt, så vi måste hitta våra tillgängliga drivrutiner och lägga till sådana när vi behöver dem.
Det finns olika syntaxer tillgängliga för att upprätta databasanslutningen. Dessa syntaxer beror på specifika databaser. När du använder PDO måste operationer lindas in i try/catch-block och använda undantagstekniken.
Vanligtvis behöver bara en enda anslutning skapas, och dessa anslutningar stängs genom att programmera databasen så att den ställs in som en noll.
PDO tillåter användning av undantag för felhantering. För att skapa ett undantag kan PDO tvingas in i ett relevant fellägesattribut.
Det finns tre fellägen, dvs. Tyst (standard), Varning , och Undantag . Varning och undantag är mer användbara i DRY-programmering.
PDO reducerar den vanligen använda infogningen och uppdateringen av databasoperationen till en tvåstegsprocess, dvs.
Förbered >> [Bind] >> Utför.
Genom denna metod kan vi dra full nytta av PDO:s förberedda uttalanden, som skyddar mot skadliga attacker genom SQL-injektion.
Förberedda satser är förkompilerade SQL-satser som kan köras flera gånger genom att skicka dessa data till servern. Dessa data, som används inom platshållaren, skyddas automatiskt från SQL-injektionsattacken.
Fördelar med att använda SUB
PDO är den ursprungliga databasdrivrutinen. Det finns några fördelar med att använda PDO som anges nedan:
PDO-klasser
Det finns tre PDO-klasser, som anges nedan:
Databaser som stöds av PDO
- MySQL
- PostgreSQL
- Orakel
- eldfågel
- MS SQL Server
- Sybase
- Informix
- IBM
- FreeTDS
- SQLite
- Cubrid
- 4D
Jämförelse mellan PDO och MySQLi
För att komma åt databasen genom att använda PHP har vi huvudsakligen två alternativ - MySQLi och SUB (PHP-dataobjekt). MySQLi är inbyggt i PHP som ger snabbare prestanda, medan de flesta av de erfarna utvecklarna föredrar att arbeta med PDO eftersom det stöder en mängd olika databasdrivrutiner. Det finns några skillnader mellan PDO och MySQLi nedan baserat på deras funktioner.
Funktioner | SUB | MySQLi |
---|---|---|
DB Support | 12 olika förare | Endast MySQL |
Förbindelse | Lätt | Lätt |
API | ÖPPEN | OOP + Procedur |
Prestanda | Snabb | Snabb |
Namngiven parameter | Ja | Nej |
Objektkartläggning | Ja | Ja |
Lagrad procedur | Ja | Ja |
Förberedda uttalanden på klientsidan | Ja | Nej |
säkerhet | Säkrare än MySQLi. | Säker men inte mer än PDO. |
Vilket är att föredra mellan PDO eller MySQLi?
Både PDO och MySQLi har sina egna fördelar:
- Som vi har sett tidigare fungerar PDO på 12 olika databassystem, medan MySQL endast kan fungera med MySQL-databas. Så om vi vill byta vårt projekt till en annan databas, gör PDO det enkelt. I MySQLi måste vi skriva om hela koden.
- PDO och MySQLi är båda objektorienterade, men MySQLi erbjuder också procedur-API. Båda stöder förberedda uttalanden. Förberedda uttalanden är viktiga för webbapplikationssäkerhet, eftersom de skyddar mot SQL-injektion.
Krav
Det finns inget behov av externa bibliotek för att bygga denna tillägg.
Installationsprocess
Steg 1: Ladda ner den senaste XAMPP-servern härifrån https://www.apachefriends.org/download.html för olika plattformar som Windows, Linux och MacOS.
Obs: Här kommer vi att diskutera installationsprocessen endast för Windows OS.
Steg 2: Installera XAMPP-servern på ditt system genom att följa dessa steg.
Steg 3: Välj de komponenter som du vill installera och klicka på knappen Nästa.
Steg 4: Skapa den nya mappen med namnet xampp på den plats där du vill installera XAMPP.
Steg 5: Klicka på Nästa här och gå vidare. Installationen av XAMPP-servern startar härifrån.
Steg 6: XAMPP har installerats framgångsrikt. Klicka på knappen Slutför.
Steg 7: Välj önskat språk.
Steg 8: Kör Apache-servern och MySQL härifrån (enligt den givna skärmdumpen).
Steg 9: Öppna nu php.ini från C:/xampp/php/php.ini (där du har installerat din XAMPP) och avkommentera tillägget 'php_pdo_mysql.dll' och 'php_pdo.dll' (om du arbetar med MySQL-databas), eller 'php_pdo_oci.dll' (om du arbetar med Oracle-databas). Börja nu arbeta med databasen. I den övre versionen av PHP 5.1 är den redan inställd.
Arbetar med PDO
Först måste vi skapa en databas, så skapa en databas med namnet myDB härifrån.
Databasanslutning
En databasanslutning krävs alltid för att interagera med databasen. Så vi behöver känna till identifieraren för att komma åt databasen, det vill säga databasens plats, databasnamn, användarnamn och lösenord.
Skapa nu databasanslutningsprogrammet med PDO i valfri textredigerare som anteckningsblock eller notepad++ och spara det med namnet coonection.php. Kör den på XAMPP-servern med localhost/80.
Exempel
getMessage(); } ?>
Produktion
Kör den på servern med följande URL localhost/Xampp/pdoexample/connection.php/ eller var du har sparat ditt program.
Hantering av anslutningsfel
Ett PDOException-objekt kommer att kastas om det finns något anslutningsfel. Vi kan fånga undantaget om vi vill hantera feltillståndet, eller så kan vi också lämna det till den globala undantagshanteraren som kan ställas in av set_exception_handler() fungera.
Exempel
I det här exemplet är dbUser(användar-id) fel, så det kommer att skapa ett undantag, som vi kan se i utdata.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Stänger databasanslutningen
getMessage(); } // this command close the connection. $dbConn = null; ?>
Produktion
vad min skärmstorlek