JeuWeb - Crée ton jeu par navigateur
[Résolu] MySQLi ou PDO ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] MySQLi ou PDO ? (/showthread.php?tid=4542)



[Résolu] MySQLi ou PDO ? - Gabriel - 16-01-2010

Puisqu'on parle de PDO ici je saute sur l'occasion pour poser une question qui m'intrigue depuis un bout de temps ?

Je compte moi aussi me mettre à PDO et j'ai trouvé plusieurs tutos sur le sujet.
Cependant certains conseillent d'utiliser PDO pour accéder au SGBD et d'autre conseillent d'utiliser une extension de PHP : MySQLi

Quelles différences y a t-il entre les deux ?
Que choisir ?


RE: MySQLi ou PDO ? - Sephi-Chan - 16-01-2010

Je sépare ce message de la discussion [PDO] Compter le nombre d'entrées sélectionées par une requête ?.

En tout cas, la documentation de PHP recommande d'utiliser PDO, pas MySQLi.
PHP 6 devrait mettre encore plus en avant PDO. Je pense donc que c'est le plus adapté.

Outre ce point important, et d'après ce que j'ai pu lire sur Stack Overflow (MySQLi or PDO - What are the pros and cons? et Moving from MySQL to MySQLi or PDO?), l'API de PDO est plus intuitive et pratique d'utilisation et s'approche plus d'un ORM. Si on aime manipuler des objets, c'est cool. Smile

À l'inverse, MySQL ressemble plus à du mysql_* converti en objet (or, on sait que passer à l'objet, c'est plus subtil qu'imbriquer les fonctions dans des classes) mais se montre un poil plus rapide.

Là encore, j'y vois une bonne raison de choisir PDO : une API intuitive, c'est un code plus facile à relire et donc à maintenir. Et ça, ça n'a pas de prix.


Sephi-Chan, pour tout le reste, il y a Eurocard/Mastercard…


RE: MySQLi ou PDO ? - Gabriel - 17-01-2010

Ok, merci pour cette réponse complète ! J'ai lu quelques articles sur le sujet et PHP6 devrait intégrer PDO de base. Cela conforte donc mon choix de me tourner vers PDO. Cependant, quitte à réécrire toute mes requêtes SQL et à me réhabituer à une autre façon de coder (quoique pas très complexe mais bon ^^) je préfère ne pas avoir à tout recommencer tous les 6 mois et prendre directement ce qui est le plus conseillé.

Encore merci Smile


RE: [Résolu] MySQLi ou PDO ? - php_addict - 17-01-2010

salut

ce que j'ai trouvé penible quand j'ai tout mis en PDO c'est que pour mes fonctions php qui manipules la base de donnée, il a fallu que je leur passe le parametre "objet de connexion", et ca c'est penible a modifier


RE: [Résolu] MySQLi ou PDO ? - zzarbi - 23-01-2010

Tu peux faire un singleton, une classe static qui instancie PDO et le stock dans une variable.

Du coups dans tes fonctions au lieu passer ta connexion par référence il te suffit de faire :
$connexion = $db->getInstance(); Ça te récupère ta db...

Sinon la différence entre PDO et mysqli est vraiment minime, dans tous les cas le code SQL ne change pas vu qu'on reste sur du MYSQL...


RE: [Résolu] MySQLi ou PDO ? - Zamentur - 23-01-2010

juste une correction pour le singleton:
$connexion = $db::getInstance();


RE: [Résolu] MySQLi ou PDO ? - zzarbi - 23-01-2010

(23-01-2010, 02:20 AM)Zamentur a écrit : juste une correction pour le singleton:
$connexion = $db::getInstance();

Oui effectivement.