Suchscript funktiniert nicht ganz

  • Hi


    nachstehendes Script arbeitet nicht ganz korrekt. Gebe ich 2 Suchworte
    ein so bekomme ich 2 Ergebnislisten untereinander angezeigt. Die
    erste(obere) Liste enthält Ergebnisse mit dem ersten Suchwort, die
    zweite(untere) Liste enthält Ergebnisse mit dem zweiten Suchwort. Das
    selbe Schema mit 3 Suchworten usw.


    Ich will aber die Ergebnisse in denen alle Suchworte gleichzeitig enthalten sind.


    Wichtig ist nur das der gesamte String 3 Zeichen enthalten muß, nicht jedes Suchwort.


    Ich weiß das ich an der Schleife was ändern muß doch bei PDO und prepared statements habe ich wenig Ahnung wie.


    MONI


  • du meinst du hast wenig ahnung von sql :)


    ich aber auch nicht so viel muss ma überlegen


    obwohl hiermit gehts ist aber kein PDO und prepared, so hatte ich es bisher ... MONI

    PHP
    ...
    $abfrage = "SELECT * FROM onlinebooks WHERE";
        $count = count($search);
        for($i=0; $i < $count; $i++){
            $abfrage.="((url LIKE '%".mysql_real_escape_string($search[$i])."%') OR (id LIKE '%".mysql_real_escape_string($search[$i])."%')";
            if ($i<($count-1))
                $abfrage.=") AND ";
        }
        $abfrage.=") ORDER BY id LIMIT 0,100";
    ...
  • ungetestet, aber so mache ich es:


    Ich empfehle ":val" anstatt "?" als placeholdder. Macht auch schon mal die fehlersuche einfacher und es liest sich besser, wenn die query mal länger wird.

Jetzt mitmachen!

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