WordPress mysqli et PDO

11

La base de code WordPress utilise-t-elle mysqli ou PDO?

Je sais que PDO est supérieur à mysqli mais mysqli n’est pas mal non plus. De plus, l’une des caractéristiques qui fait que PDO est supérieur à mysqli (qui est agnostique aux bases de données) ne signifie pas grand chose pour WordPress, car WordPress utilisera toujours le serveur mysql. Mais PDO prend en charge les paramètres de liaison avec les types de données, mais pas mysqli et c’est une bonne chose.

Mes tripes me disent que WordPress utilise mysqli mais je ne pouvais pas le voir dans la base de code pour le moment.

Ma deuxième question est de savoir si WordPress utilise mysqli, est-ce dû à des problèmes de vitesse ou est-ce dû au fait qu’il était autrefois (au moment du développement de WP), le PDO n’était pas encore là?

    
posée Average Joe 06.02.2013 - 01:08

2 réponses

6

WordPress utilise les fonctions mysql_* .

enlace

Il en utilise depuis que je me souvienne, ce qui répond probablement à votre dernière question. C'est ce que je considérerais comme code hérité. Je soupçonne qu'il sera bientôt mis à jour (ces fonctions n'étaient obsolètes que depuis PHP 5.5, je crois). Je ne sais pas quelle route développera.

Lien vers un ticket dans Trac, gracieuseté de Wyck (d'après un commentaire ci-dessous):

enlace

    
réponse donnée s_ha_dum 06.02.2013 - 01:16
10

Une mise à jour pour Wordpress 3.9+ - avec PHP 5.5 rendant obsolète les fonctions mysql_* , Wordpress a commencé à utiliser le mysqli s’il est disponible sur le serveur. Vos futurs plugins et votre code devraient en tenir compte et ne plus utiliser mysql_* . Pour l'instant, en 3.9, wordpress vérifie la disponibilité de mysqli et l'utilise si elle est disponible. Sinon, il utilise mysql_* , mais cette vérification sera supprimée le plus tôt possible. Plus tard, il semblerait qu’ils utiliseront PDO , mais c’est un projet plus vaste.

Voici une FAQ et une annonce à ce sujet:

enlace

    
réponse donnée themerlinproject 02.05.2014 - 22:31

Lire d'autres questions sur les étiquettes