Pourquoi de plus en plus de gens se sont mis à PDO pour gérer les connexions et les opérations sur les bases de données ?
Le tutoriel de M@teo21 a aussi été édité.
Quand j'ai appris le PHP je n'ai pas entendu parler de PDO et je ne vois pas à quoi cela sert.
La véritable question est : Sans PDO ça marche alors pourquoi utiliser PDO ?
PDO a-t-il toujours existé ? Si oui pourquoi s'est-il alors imposé que tardivement ?
J'avoue ne rien comprendre à l'utilisation de PDO car je n'ai pas encore eu le courage de relire le tuto de M@teo21 pour me mettre à jour.
D'ailleurs tous mes codes sont sans PDO.
L'API MySQL qu'à mon avis tu utilisais "à l'époque" n'étant plus maintenue, il a fallu aller chercher ailleurs.
À ma connaissance, pour le SGBDR MySQL le choix se portait donc soit sur MySQLi (nouvelle version de la bibli MySQL) ou sur PDO. Or PDO fonctionne avec un système de driver et est donc multi-SGBDR. Les dev de PHP ont pensé qu'il s'agissait d'une force (le code n'est pas nécessairement portable, car les SGBDR sont parfois trop spécifiques, mais au moins on est pas obligé d'apprendre 15 biblis différentes pour utiliser différents SGBDR) et ont décidé d'en faire la bibliothèque d'appel au SGBDR par défaut.
Le SdZ a donc fait le choix de mettre en avant une technologie du futur plutôt qu'une technologie du passé.
Note qu'il n'est absolument pas déconseillé d'utiliser l'API MySQLi qui peut être utilisé comme l'ancienne API (elle dispose de fonctionnalités en plus si je me souviens bien).
Bonsoir.
PDO est une couche d'abstraction d'accès à la base de données. Il supporte plusieurs types de bases de données, ce qui est un avantage si l'on veut réutiliser son code sur un projet utilisant un autre SGBD. De plus, on n'a pas besoin d'apprendre une autre API pour gérer l'accès à sa base de données dans ce cas.
PDO n'a pas toujours existé, puisque PHP ne s'est mis à l'objet que tardivement.
On peut ajouter que PDO bénéficie maintenant de bonnes performances avec MySQL si on utilise mysqlnd.
*Frote ses yeux* *Refrote* *rerefrote*, OUI ! c'est bien un moderateur !!! OO oO Oo
Sinon pour répondre a ta question, je dirait que PDO apporte des avantage, tous d'abords car c'est un style "Objet" donc facile a inserer dans un système en POO, de plus, PDO propose plusieurs système comme les transactions (empêchant l'enregistrement des données si une erreur ce produit) ou le fait de pouvoir préparer une requête (et donc mieux la sécuriser)
de plus, PDO propose plusieurs système comme les transactions (empechant l'enregistrement des données si une erreur ce produit) ou le fait de pouvoir préparer une requête (et donc mieux la sécuriser)
Si je ne m'abuse, ce sont des fonctionnalités du SGBDR, et non de PDO. PDO ne fait que faciliter (et peut être émuler pour certains SGBDR) leur utilisation.
Par exemple, on doit pouvoir faire (avec la bonne vieille API MySQL) :
Tout d'abord PDO n'a pas toujours existé, il a fallu la version 5.1 de PHP pour que cela arrive.
PDO est avant tout une couche d'abstraction objet qui était devenue nécessaire depuis que PHP, dans sa version 5 avait réellement approfondi la programmation orientée objet.
Il correspond à un besoin des développeurs qui créaient leurs propres couches d'abstraction sans toujours optimiser leurs codes.
La philosophie de PDO c'est d'éviter de changer le nom des fonctions, la syntaxe... lorsqu'on change de SGBD : seule la configuration de la connexion doit être changée.
De plus PDO encapsule de manière native, et donc codée en C (i.e toujours plus efficace qu'un code PHP interprété) la gestion des outils les plus répendues : requêtes préparées, transactions, requetes plus standard...
Enfin PDO est utilisé avec les nouveaux outils, notamment mysqli qui supporte mysql 5.0 de manière plus optimisée que l'extension mysql.
L'erreur qu'on rencontre souvent sur ce forum c'est de dire que PDO a AMENE les requêtes préparées et les transactions, c'est FAUX : il n'a fait que les encapsuler dans une interface. l'une comme l'autre est une fonctionnalité du SGBD, pas de PHP
de plus, PDO propose plusieurs système comme les transactions (empechant l'enregistrement des données si une erreur ce produit) ou le fait de pouvoir préparer une requête (et donc mieux la sécuriser)
Si je ne m'abuse, ce sont des fonctionnalités du SGBDR, et non de PDO. PDO ne fait que faciliter (et peut être émuler pour certains SGBDR) leur utilisation.
Par exemple, on doit pouvoir faire (avec la bonne vieille API MySQL) :
PDO propose plusieurs système comme les transactions (empechant l'enregistrement des données si une erreur ce produit) ou le fait de pouvoir préparer une requête (et donc mieux la sécuriser)
PDO propose quelques fonctions pour les transactions et les requêtes préparées, qui rendent le code plus clair, mais il faut que le SGBD les gère. Ça ne permettra pas d'utiliser les transactions sur une table MyISAM.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Jeu du carré rouge modifié, quel niveau atteindrez-vous ? http://squared.go.yj.fr
Des tutos surtout et gratuit|Déboguez php|Un cours sur ASP.NET MVC
Jeu du carré rouge modifié, quel niveau atteindrez-vous ? http://squared.go.yj.fr