Qui utilise encore le bon vieu MySQL car j'ai envie de changer mon code en PDO car on me dit que PHP4 c'est fini mais en regardant de nombreux tutoriels j'ai pas envie de transformer tout mon code en PDO. Je trouve que c'est dommage de bosser sur un projet MySQL et finalement faut prendre PDO! Qui utilise PDO, ses avantages par rapport à mySQL?

14 réponses


Grafikart
Réponse acceptée

Ben tu ne met pas à jour ton site si ça te fait chier :) tu laisse la version de PHP que tu as et tu ne touche rien à ton code :)

merci mais j'veux un avis personnel ;) pas des liens en anglais

Tu veux une traduction ? :p

  • Sa passe facilement d'une database à une autre (pas d'experience personnel là dessus) ;
  • Meilleur protection contre les injections SQL (avec prepare, etc) (pratique sa) ;
  • Orienté objet (agréable) ;
  • Les paramètres nommées (franchement pratique quand on a beaucoup de paramètres).

Mais je pense que la principale raison est la suivante : c'est devenu la norme.

Salut, en fait PDO est juste une "surcouche php" (une classe d'abstraction, c'est le nom exact) qui permet de se connecter plus facilement à des Systèmes de Gestion de Base de Données (SGBD), dont MySQL mais tu as aussi Oracle, postgreSQL... En utilisant PDO tu assures la portabilité de ton code qui sera le même avec tous ces SGBD. De plus, PDO offre une syntaxe claire que je trouve personnellement meilleure que celle de mysql. Enfin, PDO est utilisé par énormément de développeur (c'est pas pour rien s'il a été intégré dans php), ce qui te permet, si un jour tu as un problème dans ton code, d'avoir une communeauté pour t'aider.
Voilà, j'éspère avoir répondu à ta question!
Hugo.

Tu as aussi ce lien que j'ai survolé et que je trouve intéressant

Mysql via mysql_connect a été déprécié depuis php 5.5.0 et sera surement retiré bientôt
pour le remplacer tu peux utiliser mysqli_connect mais PDO offre les avantages suivants

  • Il supporte les paramètre nommé permettant de faire des requêtes en passant un tableau de paramètre associatif
  • Il supporte les requêtes préparées permettant de gagner en perf si tu dois faire une même requêtes avec des params différents
  • Il supporte plusieurs SGBD et pas seulement MySQL (donc si un jour tu veux créer un site avec un SGBD différent il te suffit de changer les requêtes et pas ton code)

Un autre avantage c'est que PDO est orienté objet alors que les extensions mysql ne sont que des fonctions (corrigez moi si erreur). Tu peux donc si tu as de l'expérience avec la programmation orientée objet donc créer des class qui extends de PDO et gérer les erreurs avec les exceptions

C'est dommage j'me fais chier à apprendre avec mysql_connect sur un projet maintenant on m'dit prend PDO mais faut refaire tout le code? Comment tu fais @Grafikart quand y a une maj pour actualiser grafikart?

PDO est en train de devenir le nouveau standard, faut faire avec ;)
Par contre je comprends pas ce que tu veux dire par MàJ. MàJ de quoi?

C'est dommage j'me fais chier à apprendre avec mysql_connect sur un projet maintenant on m'dit prend PDO mais faut refaire tout le code? Comment tu fais @Grafikart quand y a une maj pour actualiser grafikart?

Oui et demain on te diras "prends pas PDO, prends plutôt le nouveau standard"
C'est le principe de l'évolution des langages!

màJ c'est mise à jour quand la version de php change

PDO est en train d'être standardisé, je me trompes peut-être mais cela m'étonnerait qu'il disparaisse du jour au lendemain. En tous cas tu dois faire avec parce que les deernières versions de PHP activent par défaut PDO et non pas l'extension mysql...
De plus je trouve ton raisonnement bizarre : HTML5 et CSS3 sont désormais standardisés alors on les utilises! Ben pour PDO c'est pareil, surtout que tu n'as même pas de soucis niveau compatibilité ;)