ergibt sich aus $wpdb->last_query

Lesezeit: 2 Minuten

Benutzer-Avatar
Fragen und Antworten

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.

    – 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


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

Benutzer-Avatar
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

1368730cookie-checkergibt sich aus $wpdb->last_query

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy