WordPress mysqli e DOP


11

La base di codice di WordPress utilizza mysqli o PDO?

So che DOP è superiore a mysqli ma mysqli non è male neanche. Inoltre, una delle caratteristiche di ciò che rende il PDO superiore a mysqli (che è indipendente dal database) non significa molto per WordPress poiché WordPress utilizzerà sempre il server mysql. Ma i parametri di associazione con tipi di dati supportano PDO, ma mysqli no ed è una buona cosa.

Le mie viscere mi dicono che WordPress usa mysqli ma non sono ancora riuscito a vederlo nella base di codice.

La mia seconda domanda è se WordPress utilizza mysqli, a causa di problemi di velocità o perché nei giorni precedenti (quando era in fase di sviluppo WP), il PDO non era ancora lì?

Risposte:


6

WordPress utilizza le mysql_*funzioni .

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/wp-db.php

Ha usato quelli da quando ricordo, che probabilmente risponde alla tua ultima domanda. È quello che considererei il codice legacy. Sospetto che presto verrà aggiornato (quelle funzioni sono state deprecate solo a partire da PHP 5.5, credo). Non so quale percorso verrà sviluppato.

Link a un biglietto in Trac, per gentile concessione di Wyck (da un commento qui sotto):

http://core.trac.wordpress.org/ticket/21663


Ho controllato il codice su wp-db.php. On line, 1133, ha la funzione db_connect e secondo essa non è nemmeno mysqli. Non ho capito bene. la linea 1143 ha chiaramente questo; $ this-> dbh = @mysql_connect ($ this-> dbhost, $ this-> dbuser, $ this-> dbpassword, $ new_link, $ client_flags); e secondo il manuale di PHP, ( php.net/manual/en/function.mysql-connect.php ), questo è un codice mysql, non mysqli. WP usa davvero mysql?
Media Joe

6
Wordpress utilizza funzioni obsolete, dal momento che mysql_connectè stato ufficialmente deprezzato, si spera che presto si sposterà a DOP (presto saranno 1-2 anni). Rif: core.trac.wordpress.org/ticket/21663
Wyck

@AverageJoe ... sì, come ho detto, WordPress utilizza le funzioni mysql. Come Wyck, spero per il DOP, ma non so da che parte andrà.
s_ha_dum,

Grazie per il link trac Wyck. s_ha_dum per favore includi questo link ( core.trac.wordpress.org/ticket/21663 ) nella tua risposta e correggi la grammatica dove vai "Se li ho usati da quando ricordo," quando ne avrai la possibilità. Grazie
Joe medio

Un piccolo urto. Questo è stato scritto un anno fa .. Ma oggi credo che abbiamo mysqli_ * in wordpress da alcune versioni, giusto?
K. Kilian Lindberg,

10

Un aggiornamento per Wordpress 3.9+ - con PHP 5.5 che deprecava le mysql_*funzioni che Wordpress ha iniziato a utilizzare mysqlise è disponibile sul server. I tuoi futuri plugin e codice dovrebbero tenerne conto e smettere di usarli mysql_*. In questo momento, in 3.9, wordpress verifica la disponibilità mysqlie la utilizza se disponibile. Altrimenti utilizza mysql_*ma quel controllo verrà rimosso al più presto possibile. Lungo la strada sembra che useranno, PDOma questo è un progetto più ampio.

Ecco una FAQ e un annuncio su di esso:

http://make.wordpress.org/core/2014/04/07/mysql-in-wordpress-3-9/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.