Warum zeigt diese Abfrage kein Ergebnis auf der Startseite von WordPress?

Ich lerne WordPress-database, und ich habe diese Abfrage geschrieben, um die Daten aus der Post-Tabelle mit ID = 2, aber nichts anzuzeigen. Was ist falsch an der folgenden Abfrage? bitte hilfe.

global $wpdb; $wpdb->show_errors(); $mypost=$wpdb->query($wpdb->prepare("SELECT post_content FROM $wpdb->wp_posts WHERE ID=%d",2)); echo $mypost; 

Solutions Collecting From Web of "Warum zeigt diese Abfrage kein Ergebnis auf der Startseite von WordPress?"

Zuerst ist deine Anfrage falsch. Die richtige Abfrage ist

 $mypost = $wpdb->query($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2)); 

Zweitens wird die $wpdb->query einen ganzzahligen Wert zurückgeben, der die Anzahl der betroffenen / ausgewählten Zeilen angibt. Sie können hier nachsehen

http://codex.wordpress.org/Class_Reference/wpdb#General_Syntax

Wenn Sie ein generisches Ergebnis haben möchten, können Sie $wpdb->get_results

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results

 $mypost = $wpdb->get_results($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2)); 

Um Einzelwerte zu erhalten, können Sie auch $wpdb->get_var

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable

 $mypost = $wpdb->get_var($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2));