Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

datenbankabfrage SQL Like mit php





Frage

Hallo Leute, Ich möchte eigentlich nur ne simple Abfrage aus meiner Datenbank per php. Dazu soll der Suchbegriff in ein Formularfeld in datei1.php eingegeben werden und dann in datei2.php angezeigt werden. Bei mir wird aber nix ausgegeben, wenn ich es wie unten beschrieben (bestimmt falsch) mache. Es wird aber die ((such)-Variable $titelinh übermittelt,denn ich kann sie in Datei2.php unten mit echo ausgeben. Ändere ich die Datenbankabfrage in datei2.php wie unten (auskommentiert) in eine Abfrage über mehrere Spalten und Zeilen der Tabelle geht alles hervorragend, nur wird eben leider alles ausgegeben, was mir aber sagt, dass immerhin die Datenbankverbindung stimmt. Was mache ich also falsch? Die entscheidenden Teile der Dateien sehen so aus: in datei1.php: [code] <form action="datei2.php:" method="post"> Filter: <input type="text" size="17" name="titelinh"> <br><br> <center> <input type="submit" value="Datensatz abfragen"> </center> </form> [/code] in datei2.php: [code]<? mysql_connect("localhost", "ottonormalo","12345"); mysql_select_db("spamterminal"); $titelinh= $_POST["titelinh"]; $abfrage = "SELECT * FROM spam WHERE filter Like ´$titelinh´"; //$abfrage = "SELECT filter,datum,action FROM spam"; //die letzte auskommentierte Zeile geht (wenn man die ..Select from... Zeile weglässt) $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "Filter: "; echo $row->filter,"<br><br>"; echo "Datum: "; echo $row->datum,"<br><br>"; echo "Action: "; echo $row->action,"<br><br><br>"; } echo $titelinh; //die Variable $titelinh wird hier auch ausgegeben!!! sie kommt also zumindest hier an. ?> [/code] Vielen Dank für Eure Hilfe! Tom

Antwort 1 von Supermax

Wenn du nach einer Teilzeichenkette suchen willst, muß die Anweisung

... WHERE filter LIKE ´%$titelinh%´


lauten. Das % ist ein SQL ein Platzhalter, der für beliebig viele Zeichen stehen kann.

Mit
LIKE ´$titelinh%´
kannst du z.B. nach Zeichenketten suchen, die mit "$titelinh" beginnen.

Antwort 2 von gutefrage

Danke Supermax,

Der Hinweis mit der Teilzeichenkette war echt gut.

Ich weiss nicht wie ,aber das "% " hab ich wohl in allen meinen Tutorials überlesen (ja, es stand drin!)

Inzwischen funzt es auch.
Vielen Dank und Frohe Weihnachten.

greetz

tom

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: