WordPress MySQL ve PDO


11

WordPress kod tabanı mysqli veya PDO kullanıyor mu?

PDO'nun mysqli'den daha üstün olduğunu biliyorum ama mysqli de kötü değil. Ayrıca, PDO'yu mysqli'den üstün kılan özelliklerden birinden (veritabanı agnostik olan) WordPress her zaman mysql sunucusu kullanacağı için WordPress için çok fazla bir şey ifade etmez. Ancak veri türleriyle bağlanma parametreleri PDO'nun desteklediği bir şeydir, ancak mysqli desteklemez ve iyi bir şeydir.

Bağırsaklarım WordPress'in mysqli kullandığını söylüyor ama henüz kod tabanında göremedim.

İkinci sorum WordPress'in mysqli kullanıyor olması, hız endişeleri nedeniyle mi yoksa daha önceki günlerde (WP geliştirilirken) PDO henüz orada olmadığı için mi?

Yanıtlar:


7

WordPress mysql_*işlevleri kullanır .

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

Hatırlayabildiğimden beri kullandı, muhtemelen son sorunuza cevap verdi. Bu eski kod düşünecektim. Yakında güncellenecektir şüpheleniyorum (bu işlevler sadece PHP 5.5 itibariyle kullanımdan kaldırıldı, inanıyorum). Hangi rota geliştirmenin gideceğini bilmiyorum.

Wyck'in izniyle Trac'taki bir bilete bağlantı (aşağıdaki yorumdan):

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


Kodu wp-db.php adresinden kontrol ettim. On line, 1133, db_connect işlevine sahip ve buna göre, mysqli bile değil. Kafam karıştı. 1143 hattı açıkça buna sahiptir; $ this-> dbh = @mysql_connect ($ this-> dbhost, $ this-> dbuser, $ this-> dbpassword, $ new_link, $ client_flags); ve PHP kılavuzuna göre ( php.net/manual/tr/function.mysql-connect.php ), bu mysqli değil, mysql kodudur. WP gerçekten mysql kullanıyor mu?
Ortalama Joe

6
Wordpress modası geçmiş işlevleri kullanıyor, çünkü mysql_connectresmi olarak amortismana tabi tutulduğundan, wp umarım yakında PDO'ya geçecek (yakında 1-2 yıl). Referans: core.trac.wordpress.org/ticket/21663
Wyck

@AverageJoe ... evet, dediğim gibi, WordPress mysql fonksiyonlarını kullanıyor. Wyck gibi, PDO'yu umuyorum, ama hangi yöne gideceğini bilmiyorum.
s_ha_dum

Trac link Wyck için teşekkür ederim. s_ha_dum lütfen bu bağlantıyı ( core.trac.wordpress.org/ticket/21663 ) cevabınıza ekleyin ve gittiğiniz yerdeki dilbilgisini düzeltin. Teşekkür ederim
Ortalama Joe

Biraz yumru. Bu bir yıl önce yazılmıştır .. Ama bugün bazı sürümlerden beri wordpress'te mysqli_ * olduğuna inanıyorum, değil mi?
K. Kilian Lindberg

11

Wordpress 3.9+ için bir güncelleştirme - PHP 5.5 ile birlikte Wordpress sunucuda kullanılabilir durumdayken Wordpress mysql_*işlevlerini kullanımdan kaldırmıştır mysqli. Gelecekteki eklentileriniz ve kodunuz bunu dikkate almalı ve kullanmayı bırakmalıdır mysql_*. Şu anda, 3.9'da wordpress kullanılabilirliğini kontrol ediyor mysqlive varsa kullanıyor. Kullanmazsa mysql_*ancak bu kontrol mümkün olan en kısa sürede kaldırılır. Yolda kullanacak gibi görünüyor PDOama bu daha büyük bir proje.

İşte size bir SSS ve duyuru:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.