Suche erstellen

fredolin

Erfahrenes Mitglied
Hey PHP Gemeinde,

ich stehe mal wieder vor dem Wald und sehe den Baum nicht..

Ich will eine Sucher programmieren, die in einer MySQL DB nach den im Formular übergebenes Wort sucht.
DIe Suche soll sich nicht nur auf eine Tabellenspalte festlegen sondern alle Tabellenspalten durch suchen.

Hier mein Code
PHP:
if(isset($_POST['suchen'])) {

       $search = $_POST['search'];
       
       echo '<p>'.$search.'</p>';
       
       $dbhandle = opendb();
       $result = mysql_query("SELECT * FROM " . DBFIBU . " LIKE '%$search%'");
     
         $menge = mysql_num_rows($result);
       
       echo $menge . ' Datens&auml;tze gefunden <br /><br />';
       
       while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         echo 

         };
       closedb($dbhandle);
     };

Die Seiten werden in Template zusammen gebaut in der index.php. Im header habe ich per
PHP:
include('scripts/php/include.inc.php3');
den Zugriff auf die Datenbank deklariert. Der klappt auch, weil ich eine datainsert Funkion aufrufen kann und Daten in die DB eintragen kann.

So wie kann ich nun meine SAuche realisieren?

Ich bedanke mich sehr für Eure Mithilfe und Vorschläge..

Gruß Fredolin
 
Bevor dein eigentliches Problem behandelt wird:
1. Keine veralteten mysql_* Funktionen
2. Keine Eingabeparameter achtlos einfach in die Query übertragen -> SQL Injection

Dann zu "in allen Spalten suchen": Warum? Das klingt mir irgendwie nach Designfehler. Davon würde ich generell mal abraten und mir eher überlegen was Sinn macht durchsucht zu werden. Ist ja irgendwie Schwachsinn z.B. die ID-Spalte zu durchsuchen.

Viele Grüsse
Cromon
 
Dein Query ist abgesehen von dem genannten auch völlig falsch- was soll das bedeuten?
Code:
SELECT * FROM  tabelle WHERE spalte LIKE '%$search%'
Für mehrere Spalten entspechend mit OR weitere WHERE spalte LIKE '' ergänzen.
 
Zurück