MySQL Suchfunktion?!

PHP:
<?php
include('includes/configuration.inc.php');

mysql_connect($host,$user,$passwd)  or die ("Keine Verbindung moeglich");
mysql_select_db($database) or die ("Die Datenbank existiert nicht");
 
$abfrage="SELECT * FROM spieler WHERE nachname LIKE ('%$search%') or vorname LIKE ('%$search%')";
$suchtext=str_replace(" ","','",$suchtext);
$ergebnis = mysql_query($abfrage) or die(mysql_error());
while($row = mysql_fetch_array($ergebnis))
{
echo
"<div>
<p>".$row['nachname']."</p>\n
<p>".$row['vorname']."</p>\n
<p>".$row['verein']."</p>\n
</div>\n";
}

?>

Und es werden mir alle Daten aus der Datenbank aufgelistet!
 
item: Du hast $search nirgens abgefüllt. Somit wird mit '%%' verglichen und das gibt logischerweise alles aus (aus der Tabelle `spieler`).

item: Dein $suchtext wird nirgens ausgewertet.

Ich empfehle dir mal zu debugen, dann siehst du wahrscheinlich die Fehler selber
Tutorial: PHP MySQL Debug Queries

Im Endeffekt sollte es etwa so aussehen
PHP:
//Annahme_ $suchtext ist eine Liste von Wörtern mit Leerzeichen getrennt und zu diesem Zeitpunkt des Codes bereits bekannt
$search=str_replace(" ","','",$suchtext); 
$abfrage="SELECT * FROM spieler WHERE nachname LIKE ('%$search%') or vorname LIKE ('%$search%')";

Nachtrag:
Alle Daten der DATENBANK! Ich glaube kaum. Alle Daten Der TABELLE - ja, das glaub ich dir sofort. Mach dich mal mit den Begriffen rund um eine Datenbank bekannt, ansonsten wirst du nicht verstehen was andere dir sagen.
 
Nachtrag 2:
Nope, so gehts nicht.
SQL:
... WHERE nachname LIKE ('%max','moritz','franz%') ...
Ist nicht was du haben willst.

Brauchst du es mit Platzhalter? Also dass beim Suchbegriff 'max moritz fritz' der Maximiliam gefunden wird, oder noch nur der Max?
 
Zuletzt bearbeitet von einem Moderator:
Leider funktioniert das auch nicht :(
Die passende Antwort auf eine solch unkooperative Antwort kann nur das folgende sein:

Bei mir funktionierts.

Hast du das Debug-Tutorial durchgelesen? Dort steht folgender Satz drin dessen Umsetzung jetzt einfach angebracht ist:
So haben wir eine Fehlermeldung die etwas aussagt und das SQL, wie es an die Datenbank abgesetzt wird.
Mit diesen Informationen können andere Programmierer in Foren etc. besser helfen als 'nur' mit der Meldung 'Es geht nicht'.
 
Zurück