Page 1 sur 1

PDO ou pas?

Posté : 10 déc. 2007, 23:10
par cbalmefrezol
Bonjour,

Je travail sur un projet en PHP 5.2 et la question que je me pose est la suivante:

La PDO est-elle intéressante ou pas par rapport aux vielles fonctions (mysql_* , oc8_*,....)?

La PDO peut-elle être considérée comme une librairie d'avenir?

Faut-il oublier dès maintenant les vielles foncions permettant d'interagir avec les BDD?

merci d'avance

laurent

Posté : 10 déc. 2007, 23:31
par Berzemus
J'irais pour le pdo. Les fonctionnalités sont plus larges, un accès plus orienté objet qui s'intègre mieux au php5, pas mal de librairies, et la possibilité de passer d'une base de données à l'autre sans rien changer, sinon une petite ligne de code..

Posté : 10 déc. 2007, 23:42
par AB

Posté : 11 déc. 2007, 00:02
par cbalmefrezol
Merci pour ce lien, j'avais déjà fait une recherche sur le sujet. Mais en faite le problème vient plus exactement de mon binôme. Elle a peur de se lancer dans la PDO, elle se justifie par le faite de la PDO ne marche pas sur free est que ce n'est pas la base! ^^ (dsl ca me fait rire)

Or à mon avis la PDO est considéré à l'heure actuelle comme la base, pour les échanges entre PHP et les BDD.

J'aimerai avoir votre avis ses arguments sont-ils oui ou non recevables?

Merci d'avance

Laurent

Posté : 11 déc. 2007, 00:21
par Victor BRITO
la PDO ne marche pas sur free
Qu'elle change d'hébergeur ! :langue:

PDO, outre l'aspect POO, apporte dans l'interaction entre PHP et les bases de données une sorte d'abstraction, en ce sens qu'on n'est plus prisonnier d'un SGBD particulier et des fonctions qui lui sont propres (mysql_*, mysqli_*, pgsql_*, etc.).

De plus, PDO a une fonctionnalité intéressante : les requêtes préparées. Au lieu de s'enquiquiner à alourdir les requêtes de mysql_real_escape_string() ou autres fonctions de ce genre, PDO protégera les requêtes préparées des injections SQL. De plus, les requêtes préparées peuvent être exécutées plusieurs fois sans qu'on ait à réécrire la requête en question.

Pour ma part, dès que j'ai découvert PDO, je n'ai pas hésité à l'adopter pour mes projets en PHP 5. :wink:

Posté : 11 déc. 2007, 00:25
par AB
Je trouve les arguments de ta binôme assez recevables car PDO n'est pas la base même si cela tend à devenir un standard.

Posté : 11 déc. 2007, 00:47
par cbalmefrezol
Je trouve les arguments de ta binôme assez recevables car PDO n'est pas la base même si cela tend à devenir un standard.
Il y a quelque temps, j'étais en train de lire le fameux livre "PHP 5 Avancé", et dans celui-ci l'auteur ne prenait qu'une page pour présenter les veille fonction et s'oriente directement sur la PDO en justifiant son choix par le fait, que c'est vraiment très bien (je passe les détails décrit par notre chère ami Victor). Mais de plus que l'utilisation de la PDO était en tout point identique aux vielles fonctions SQL.

d'autres avis pour réussir à la dissuader?

Laurent

Posté : 11 déc. 2007, 08:16
par Xenon_54
Mon avis est le suivant:

Si tu as besoin des fonctions spécifiques à MySQL ou que tu ne prévois pas utiliser un autre SGBD, autant prendre mysqli qui intègre déjà une version objet.

Si tu dois créer une application qui devra être portée un jour ou l'autre vers un autre SGBD ou doit supporter plusieurs SGBD, autant prendre PDO qui te permettra de modifier ton backend SQL en 1-2 lignes.

Mais encore là, cela ne règlera certains problèmes de portabilité si en bout de ligne tes requêtes SQL contiennet des commandes SQL spécifiques à MySQL et que les SGBD que tu dois supporter ne les supportent pas.

C'est toi qui voit. :)

Posté : 11 déc. 2007, 17:42
par Victor BRITO
(je passe les détails décrit par notre chère ami Victor)
Je suis de sexe masculin. :wink:

Pour le reste, belle remarque de Xenon_54 concernant la syntaxe des requêtes SQL sous PDO. :pouce:

Posté : 11 déc. 2007, 20:26
par cbalmefrezol
ok merci à tous et surtout à notre ami Victor :p