Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Abfrageformular funktioniert nicht bei globals off





Frage

Hallo, ich versuch gerad ein Abfrageformular mit den Feldern titel und autor zu erstellen, daß auch funktioniert, wenn die "Globals off" sind. Weiß jemand, ob man und wie man den Befehl [code]sql = "SELECT titel, autor FROM buecher WHERE titel LIKE ´%$titel%´ [/code] mit $_Post[´titel´] schreibt? Ist egal, wie ich % und ´ anordne, ich erhalte parse error... Vielen vielen Dank LG Mel

Antwort 1 von Teddy7

sql = "SELECT titel, autor FROM buecher WHERE titel LIKE ´*titel*´"

oder mit Variable

dim xtitel as string
xtitel = "titel"

sql = "SELECT titel, autor FROM buecher WHERE titel LIKE " & "´*" & xtitel & "*´"

Gruß
Teddy

Antwort 2 von Mel

Teddy7:
Zitat:
sql = "SELECT titel, autor FROM buecher WHERE titel LIKE ´*titel*´"


Danke Dir, aber wenn ich Sternchen verwende, gibt die Datenbank mir gar keine Daten aus.

Ich hab auch schon folgendes ausprobiert:
{$_POST[´titel´]}

aber das endet auch in einem parse error.

Weiß jemand, mit welchen Anführungszeichen o.ä. man aus dem folgenden $titel ein $_post[titel] macht ,damit die Variable auch bei globals off gelesen werden kann?
sql = "SELECT titel, autor FROM buecher WHERE titel LIKE ´%$titel%´

Vielen Dank für jede Art von Tipps
Gruss Mel

Antwort 3 von Supermax

man sollte ohnehin Werte aus Formularen nicht ungefiltert in eine SQL-Abfrage eintragen (siehe Stichwort "SQL-Injection"). Besser ist es, den per POST übergebenen Wert mittels mysql_escape_string() "query-sicher" zu machen.


$titel = mysql_escape_string($_POST[´titel´]);
$sql = "SELECT titel, autor FROM buecher WHERE titel LIKE ´%$titel%´";
$sql_result = mysql_query($sql);


Antwort 4 von Mel

aha,

super, hab ich auch sogar gleich auf Anhieb verstanden und es funktioniert auch einwandfrei.

Vielen vielen vielen Dank für den Hinweis und den Code,
freut mich total

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: