Ik weet dat dit al een oud onderwerp is maar ik vind het een leuk onderwerp om over te praten en aan de beginnende php'ers hebben er ook wat aan xd...
Ik weet dat er waarscheinlijk nog een aantal van jullie zijn die nog de database afhandelingen en connectie erheen mysql_query() / mysql gebruiken.
Alhoewel de mysql_* nog wel te gebruiken is dadelijk in php6 en nu in php5 het niet meer echt aanteraden is...
Dus nu is mijn vraag wat gebruiken jullie hier allenmaal? (mysqli, PDO, database class, framework, enze...)
Wat zijn jullie ervaringen ermee ? (goed/slecht/kan beter)
Waar kan je welke beter wel of dan wel niet voor gebruiken ?
Ik gebruik PDO, MySQL en Smarty. Ben tevreden met hoe het werkt en wat het kan. Maar ik heb nog niet al te veel ervaring en ben mijn vaardigheden telkens nog aan het verbeteren.
zo is het mijn ook gezegt ja :) dat in php5 mysql niet aanteraden is en dat ik pdo moest gebruiken, nou moet ik zeggen dat het wel lekker werkt hoor met pdo :)
ik kan het je wel AANraden ;) heeft veel meer voordelen ook vind ik
Tuurlijk kan je in php6 gewoon pdo blijven gebruiken.
@Ger
tuurlijk kan je ook gewoon in php6 en nu ook in php5 de mysql_* functies en opties blijven gebruiken maar het is naar mijn idee beter om mysqli of pdo te gebruiken omdat mysql_* verouderd is en niet meer verder ontwikkeld word alleen nog maar kleine beetjes onderhoud.
Natuurlijk is mysqli beter dan mysql_ , de i staat tenslotte voor improved.
De vraag is ook niet of ik ga toepassen, maar wanneer.
@Robert:
Als je PDO vergelijkt dan moet je het met mysqli doen, en dan is het enige voordeel van PDO dat het database onafhankelijk is.
Dat betekent dus ook dat als je het toepast je de SQL ook daarop moet aanpassen, want: SELECT `field` FROM `table` gaat niet werken in SQLite of MSSQL
@Ger:
Mij is verteld als je meerdere databases wilt kunnen gebruiken is het niet meer is dan meedere database classen te maken met de zelfde methode namen.
alleen elke database class heeft zijn eigen functie maar de methode namen blijven het zelfde.
dus als je sqllite heb blijft de methode functie naam gewoon query() of select()
uiteraard moeten deze query per database kunnen werken omdat de aanroep anders is
hiervoor zou je omdat je weet het is een query misschien alleen de dingen mee te sturen wat je wilt en de query de rest laten doen
eenigste wat je dan doet is alleen de driver in je config file aanpassen
dan is je systeem voor meedere databases toegangelijk.
en mij is verteld dat het veiliger is om met pdo te werken.
Dus mysqli is de nieuwe aangeraden methode? Wist niet dat mysql_* deprecated gaat worden.. xP Dan moet ik binnenkort maar eens mijn MySQL class gaan ombouwen, of herschrijven. Ik maak daar nog gebruik van de oudere manieren.. :P