Ich versuche, eine einzelne Seite als Plugin als Admin-Menü in WordPress zu verschieben. Ich verifiziere zuerst, dass isset($wpdb), aber meine Testabfrage schlägt fehl. Ich mache $wpdb->last_query und verstehe die Ergebnisse nicht.
Das versuche ich:
$clientquery = $wpdb->query("select post_title from wp_posts where id=390");
exit(var_dump( $wpdb->last_query));
Das ist das Ergebnis:
string(44) "select post_title from wp_posts where id=390"
Woher kommt string(44)? Übrigens, ich bin absolut neu in der Entwicklung von PHP und WordPress und lerne dies selbst.
Auch wenn ich die Abfrage in “select * from …” ändere, ändert sich das Ergebnis in string(35)… . Was?
Es ist der Typ der Variablen, eine Zeichenfolge mit 44 Zeichen
– Maurizio Trajano
9. November 2014 um 23:20 Uhr
Danke, ich habe nach etwas Dramatischem gesucht und die Zeichenanzahl komplett übersehen. Am Ende muss ich immer noch versuchen herauszufinden, warum selbst eine so einfache Abfrage fehlschlägt.
Angenommen, Sie haben $wpdb als global deklariert, sollte das obige funktionieren, sodass Ihr Code wie folgt aussehen sollte:
global $wpdb;
$clientquery = $wpdb->query("select post_title from wp_posts where id=390");
var_dump($clientquery);
Beachten Sie, dass die Ergebnisse in $clientquery gespeichert werden
Danke David. Mauricios Kommentar sagte mir, was string(44) bedeutete, und brachte mich dazu, nicht mehr zu glauben, dass die Abfrage das Problem war. Ich konnte dann sehen, dass ich einen Tippfehler hatte, als ich $clientquery auf Ergebnisse testete. Ich habe den gleichen Tippfehler in mein var_dump($clientquery) kopiert und da das keine Ergebnisse hatte, habe ich auf $wpdb->last_query zurückgegriffen und ich habe nicht verstanden, was es mir sagte. Die Dinge funktionieren und ich zeige Daten an.
– Fragen und Antworten
10. November 2014 um 14:47 Uhr
phpdevpb
Das $wpdb->last_query zeigt die genaue MySQL-Abfrage selbst und string(44) gibt an, dass es sich um einen Zeichenfolgentyp der Länge 44 handelt:
string(44) select post_title from wp_posts where id=390
WordPress definiert eine Klasse namens wpdb, die eine Reihe von Funktionen enthält, die zur Interaktion mit einer Datenbank verwendet werden. Sein Hauptzweck besteht darin, eine Schnittstelle zur WordPress-Datenbank bereitzustellen, kann aber auch zur Kommunikation mit jeder anderen geeigneten Datenbank verwendet werden. Es ist also nicht notwendig, die Verwendung zu überprüfen isset() Funktion
13687300cookie-checkergibt sich aus $wpdb->last_queryyes
Es ist der Typ der Variablen, eine Zeichenfolge mit 44 Zeichen
– Maurizio Trajano
9. November 2014 um 23:20 Uhr
Danke, ich habe nach etwas Dramatischem gesucht und die Zeichenanzahl komplett übersehen. Am Ende muss ich immer noch versuchen herauszufinden, warum selbst eine so einfache Abfrage fehlschlägt.
– Fragen und Antworten
9. November 2014 um 23:54 Uhr
Ich kann anhand der von Ihnen angegebenen Informationen nicht erkennen, dass viele Dinge schief gegangen sein könnten, aber verwenden Sie diese Seiten als Referenz: php.net/manual/en/function.mysql-connect.php php.net/manual/en/function.mysql-query.phpgibt es unten viele Beispiele, die Ihnen helfen können
– Maurizio Trajano
10. November 2014 um 0:48 Uhr