Mammouth du PHP |
19672 Messages
15 avr. 2006, 23:35
Sommairement oui : le SQL est relativement standard, donc une requête sera sensiblement la même pour MySQL, PostGreSQL, MS-SQL Serveur ou Oracle par exemple: ce qui change, c'est le genre de fonction à utiliser pour les envoyer et les faire exécuter.
Donc l'idée comme PDO, c'est qu'on appelle la classe en lui précisant les paramètres nécessaires à utiliser : en clair: quel SGBD, login, mot de passe, éléments qu'on nomme souvent "dsn" : ensuite, on emploie non pas par exemple mysql_query mais (je dis une ânerie sans doute, jamais utilisé PDO encore) query_do avec la requête en paramètre : la classe PDO va selon les premiers paramètres utiliser la fonction appropriée pour le SGBD.
Si tu migre un jour ta base MySQL vers Oracle par exemple : de façon très basique, tout ce que tu auras à modifier dans ton code, c'est le "dsn". Grosso modo, 15 secondes de boulot.
En méthode classique, pour faire ça, il faudrait faire le tour de ton application pour changer toutes les fonctions mysql_qqch() en ora_qqch() : selon la taille de l'application, de une heure à trois semaines.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 