Hilfe zu Missing argument 2 for wpdb::prepare()

  • Moinsen Zusammen,

    habe folgende Fehlermeldung:
    : Missing argument 2 for wpdb::prepare(), called in... on line 26

    line 26:
    $queryStr1 = "SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID ='".$wp_query->post->ID."'";
    line27:
    $seiteID = $wpdb->get_results($wpdb->prepare($queryStr1));

    ok, ich muß in zeile 26 einen 2. parameter einsetzten (%d), komme aber mit den quotes durcheinander.

    Wäre sehr dankbar für Hilfe eurerseits.

    thx, Kristian

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • line 26:
    $queryStr1 = "SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID ='".$wp_query->post->ID."'";
    line27:
    $seiteID = $wpdb->get_results($wpdb->prepare($queryStr1));

    Ungetestet, muss da auch immer erst viel probieren, doch würde eventuell in diesem Fall in etwa so mit einem ersten Test beginnen:

    Code
    $queryStr1 = "SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID = %d", $wp_query->post->ID;

    Wenn es nicht richtig ist, dann würde ich mir die Zeile mit echo ausgeben lassen und erst einmal alles in einer Zeile schreiben, bevor ich da zwei draus mache würde.

  • Ungetestet, muss da auch immer erst viel probieren, doch würde eventuell in diesem Fall in etwa so mit einem ersten Test beginnen:

    Code
    $queryStr1 = "SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID = %d", $wp_query->post->ID;

    Wenn es nicht richtig ist, dann würde ich mir die Zeile mit echo ausgeben lassen und erst einmal alles in einer Zeile schreiben, bevor ich da zwei draus mache würde.

    diese Variante habe ich schon probiert. funktionierte nicht. aber danke für deine hilfe.
    ausgabe ist: : syntax error, unexpected ',' in on line

  • Und mir fällt nichts ein, was ich mal gerade schnell abfragen sollte, so bleibt es ungetestet. Doch die verlinkte Seite enthält ja Hinweise.

    PHP
    <?php
    $seiteID = $wpdb->get_results($wpdb->prepare("SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID = %d", $wp_query->post->ID));
    ?>


    PHP
    <?php
    $seiteID = $wpdb->get_results($wpdb->prepare("
                                  SELECT post_title 
                                  FROM $wpdb->posts 
                                  WHERE $wpdb->posts.ID = %d", $wp_query->post->ID));
    ?>
  • Und mir fällt nichts ein, was ich mal gerade schnell abfragen sollte, so bleibt es ungetestet. Doch die verlinkte Seite enthält ja Hinweise.

    PHP
    <?php
    $seiteID = $wpdb->get_results($wpdb->prepare("SELECT post_title FROM $wpdb->posts WHERE $wpdb->posts.ID = %d", $wp_query->post->ID));
    ?>


    PHP
    <?php
    $seiteID = $wpdb->get_results($wpdb->prepare("
                                  SELECT post_title 
                                  FROM $wpdb->posts 
                                  WHERE $wpdb->posts.ID = %d", $wp_query->post->ID));
    ?>


    ok, hier mal der ganze code.
    was passiert: eine nextgengallery wird einer seite zugeordnet und dargestellt.

    bei der erstellung dieses codes half mir jemand. nun bekomme ich es nicht hin, in der zweiten zeile des php-codes den zweiten parameter einzusetzten. die vorher genannten varianten haben nicht funktioniert.

    bin sehr dankbar für eure hilfe.

  • Ich verstehe die Abfrage nicht. Mal ein ganz einfaches und funktionierendes Beispiel und diese Abfrage kannst Du ja ausbauen, bis sie das gewünschte Ergebnis liefert.

  • für nachfolgende Leser, so hats funktioniert:

    PHP
    $seiteID = $wpdb->get_results($wpdb->prepare("SELECT post_title  FROM $wpdb->posts WHERE $wpdb->posts.ID = %d",  $wp_query->post->ID));

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!