


Probleme und L?sungen bei der Verwendung der WordPress-Klasse $wpdb zum Lesen von MySQL-Datenbanken und zum Ausführen von Ajax
Jul 29, 2016 am 09:14 AM無(wú)聊做了個(gè)www.jiazhuangma.com,技術(shù)不過(guò)關(guān)寫(xiě)不好后臺(tái),就想直接讀wordpress里的數(shù)據(jù)。做ajax讀后臺(tái)數(shù)據(jù)時(shí)在網(wǎng)上隨便搜了一段代碼使用wordpress $wpdb類(lèi)讀mysql數(shù)據(jù)庫(kù),就是這么一隨便,搜到了別人的去頭去尾的code,開(kāi)始了我的改錯(cuò)之旅。
主要問(wèn)題有:
1,non-object
2,json中漢字,/被轉(zhuǎn)碼
3,chrome可以正常訪問(wèn)php文件,ie顯示http 404,ajax時(shí)頭部顯示404,但是響應(yīng)正文正確,是我想要的json。
轉(zhuǎn)載請(qǐng)注明http://www.cumt.top/blog/?p=162
先貼上網(wǎng)上搜到的代碼:
<?php global $wpdb; $a = $wpdb->get_results(“SELECT ID,post_title FROM wp_posts ″); echo json_encode($a ); ?>
這時(shí)會(huì)報(bào)錯(cuò),non-object;
網(wǎng)上有人說(shuō)可以添加require_once(‘wp-blog-header.php’);那么恭喜你中獎(jiǎng)了,你會(huì)發(fā)現(xiàn)chrome可以正常訪問(wèn)php文件,ie顯示http 404,ajax時(shí)頭部顯示404,但是響應(yīng)正文正確。
修改為require_once(‘wp-config.php’);后正常,
這時(shí)得到的json是轉(zhuǎn)碼后的需要將echo json_encode($a );
修改為echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE ));結(jié)果才正確
最終結(jié)果:
<?php <strong>require</strong>_once(‘wp-config.php’); global $wpdb; $a = $wpdb->get_results(“SELECT wp_posts.ID,wp_posts.post_title,wp_posts.guid FROM wp_posts <strong>inner join</strong> wp_term_relationships on wp_term_relationships.<strong>object_id</strong>=wp_posts.ID where wp_term_relationships.term_tax ORDER BY wp_term_relationships.<strong>object_id</strong> DESC LIMIT 5″); echo str_replace(“\\/”, “/”, json_encode($a,JSON_UNESCAPED_UNICODE )); ?>
轉(zhuǎn)載請(qǐng)注明http://www.cumt.top/blog/?p=162
以上就介紹了使用wordpress的$wpdb類(lèi)讀mysql數(shù)據(jù)庫(kù)做ajax時(shí)出現(xiàn)的問(wèn)題及解決,包括了require,ajax,object_id,sql數(shù)據(jù)庫(kù),inner join方面的內(nèi)容,希望對(duì)PHP教程有興趣的朋友有所幫助。

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Zu den Leistungsoptimierungsmethoden für die Konvertierung von PHP-Arrays in JSON geh?ren: Verwendung von JSON-Erweiterungen und der Funktion json_encode(); Verwendung von Puffern zur Verbesserung der Leistung der Schleifencodierung; JSON-Codierungsbibliothek.

JSON-Daten k?nnen mithilfe der gjson-Bibliothek oder der json.Unmarshal-Funktion in einer MySQL-Datenbank gespeichert werden. Die gjson-Bibliothek bietet praktische Methoden zum Parsen von JSON-Feldern, und die Funktion json.Unmarshal erfordert einen Zieltypzeiger zum Unmarshalieren von JSON-Daten. Bei beiden Methoden müssen SQL-Anweisungen vorbereitet und Einfügevorg?nge ausgeführt werden, um die Daten in der Datenbank beizubehalten.

Anmerkungen in der Jackson-Bibliothek steuern die JSON-Serialisierung und -Deserialisierung: Serialisierung: @JsonIgnore: Ignorieren Sie die Eigenschaft @JsonProperty: Geben Sie den Namen an @JsonGetter: Verwenden Sie die get-Methode @JsonSetter: Verwenden Sie die set-Methode Deserialisierung: @JsonIgnoreProperties: Ignorieren Sie die Eigenschaft @ JsonProperty: Geben Sie den Namen @JsonCreator an: Verwenden Sie den Konstruktor @JsonDeserialize: Benutzerdefinierte Logik

PHP bietet die folgenden Funktionen zur Verarbeitung von JSON-Daten: JSON-Daten analysieren: Verwenden Sie json_decode(), um einen JSON-String in ein PHP-Array zu konvertieren. JSON-Daten erstellen: Verwenden Sie json_encode(), um ein PHP-Array oder -Objekt in einen JSON-String zu konvertieren. Erhalten Sie bestimmte Werte von JSON-Daten: Verwenden Sie PHP-Array-Funktionen, um auf bestimmte Werte wie Schlüssel-Wert-Paare oder Array-Elemente zuzugreifen.

PHP-Arrays k?nnen über die Funktion json_encode() in JSON-Strings konvertiert werden (zum Beispiel: $json=json_encode($array);) und umgekehrt kann die Funktion json_decode() zum Konvertieren von JSON in Arrays ($array=) verwendet werden json_decode($json);) . Weitere Tipps sind die Vermeidung tiefgreifender Konvertierungen, die Angabe benutzerdefinierter Optionen und die Verwendung von Bibliotheken von Drittanbietern.

JSON-Daten analysieren Das Parsen von JSON-Daten ist ein entscheidender Schritt bei der Verarbeitung komplexer Daten. In Java k?nnen wir die folgenden Methoden verwenden: Verwenden Sie die Gson-Bibliothek: Gson ist eine weit verbreitete jsON-Parsing-Bibliothek, die eine pr?gnante und effiziente API bereitstellt, wie unten gezeigt: Gsongson=newGson();JsonObjectjsonObject=gson.fromJson(jsonString ,JsonObject .class); Verwendung der Jackson-Bibliothek: Jackson ist eine weitere beliebte JSON-Verarbeitungsbibliothek, die umfangreiche Funktionen und die Konvertierung in andere Formate (wie XML) unterstützt, wie unten gezeigt: ObjectMappe

JSONFEED ist eine JSON-basierte RSS-Alternative, die die Einfachheit und Benutzerfreundlichkeit hat. 1) JSONFEED verwendet das JSON -Format, das leicht zu erzeugen und analysieren zu k?nnen. 2) Es unterstützt die dynamische Generation und eignet sich für die moderne Webentwicklung. 3) Die Verwendung von JSONFeed kann die Effizienz und die Benutzererfahrung des Inhaltsmanagements verbessern.

RSS w?hlte XML anstelle von JSON aus, weil: 1) die Struktur- und überprüfungsfunktionen von XML besser sind als JSON, was für die Bedürfnisse von RSS -komplexen Datenstrukturen geeignet ist. 2) XML wurde zu dieser Zeit ausführlich unterstützt; 3) Die frühen Versionen von RSS basierten auf XML und sind zu einem Standard geworden.
