PDO en database
Ik wil me eens wat meer verdiepen in PDO en databases. Ik wil wat basisinformatie leren over hoe je het beste queries kunt gebruiken. Heel simpel wat info over select, update, join en dergelijke en dan op de PDO manier. Even m'n geheugen opfrissen... weet iemand toevallig een leuke tutorial ofzo?
http://www.phptuts.nl/view/41/
Hoofdstuk 4 t/m 12, de even nummers.
Gewijzigd op 07/10/2011 10:15:06 door - Ariën -
Dankjewel Aar en Wouter! Daar ben ik wel even zoet mee :-)
de sqlsyntax die gebruikt wordt is niet cross database compatible.
Hoe bedoel je Ger? En nog belangrijker... weet jij dan een tutorial waarbij wel de goede sqlsyntax wordt gebruikt?
Ozzie:
Een klein voorbeeldje: Hoe bedoel je Ger?
mssql kent geen columns van het type int en varchar
sqlite vereist quotes(") of [] om veld en tabelnamen
Ozzie:
En nog belangrijker... weet jij dan een tutorial waarbij wel de goede sqlsyntax wordt gebruikt?
Nee eigenlijk niet... :-(
Ik snap het niet goed... ik dacht dat PDO dat zelf eigenlijk allemaal regelde...???
De grootste verschillen zitten in SQLite, wat zoals de naam al doet vermoeden beperkte SQL functionaliteit heeft, en ik vraag me of dat uberhaupt al door PDO zelf geregeld kan worden.
Wie weet dit???????
Voor MySQL en MySQLi zijn er overigens geen verschillen, omdat dit op MySQL draait.
Voor Oracle is de SQL structuur op sommige punten weer eens anders, net als voor MsSQL.
de voordeel van pdo is dat je enkel alleen kleine stukjes van de sql code hoeft te verranderen..
Wat is dan eigenlijk nog het nut van zo'n PDO abstractielaag?
Met mysql_* en MySQLi functies kun je alleen met MySQL databases connecten. Met PDO kun je ook met andere databases (zoals bijv. MsSQL) connecten. Alleen de syntax voor queries veranderen wel als je een ander databasetype hebt.
maar daar zou je een functie voor kunnen maken die alles per verschillende database voor je afhandeld
Gaat het dan alleen maar om het connecten?
Maar het voordeel van PDO ten opzichte van mysql_* of MySQLi is dat je hiermee ook kan omgaan met bijv. MsSQL.
Nu heb je het over extra functies, dit is niet zo. Het is alleen een andere manier van query schrijven. (maar bij wat googlen kan ik geen verschil vinden tussen een MySQL query en een SQLite query in PDO, misschien kan ger dit even onderbouwen?)
Wouter J op 07/10/2011 16:12:43:
Nu heb je het over extra functies, dit is niet zo. Het is alleen een andere manier van query schrijven. (maar bij wat googlen kan ik geen verschil vinden tussen een MySQL query en een SQLite query in PDO, misschien kan ger dit even onderbouwen?)
Ger???
Code (php)
1
2
3
4
2
3
4
SELECT field1,field2, field3
FROM
table1
WHERE field1 > (SELECT MAX(field4) FROM table2)
FROM
table1
WHERE field1 > (SELECT MAX(field4) FROM table2)
geeft een foutmelding in SQlite
Ook conditionele statements werken niet in SQLite
Ik vind dat dit in die tutorials aangegeven had moeten worden.
Ook staat er in de tutorial uit de link van Aar dat PDO een aanrader is, en daar ben ik het niet geheel mee eens.
Gewijzigd op 07/10/2011 16:54:52 door Ger van Steenderen
Ik dacht dat PDO bedoeld was om makkelijk tussen databases te kunnen switchen, maar als ik het zo allemaal eens lees is het dus eigenlijk alleen maar de connection waar het om gaat.
Als ik jou was zou ik wel gewoon PDO gaan gebruiken, persoonlijk vind ik het een stuk beter dan mysql_