"We are back" « oc.at

SOLVED: php: SQL Abfrage will nicht...

malu 20.12.2005 - 17:08 544 1
Posts

malu

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
hiho!

Hab ein kleines Problem mit einer SQL Abfrage in PHP.

der code sieht so aus:
Code: PHP
			$verbindung=@mysql_connect("localhost","root","") or die("ES KONNTE KEINE VERBINDUNG AUFGEBAUT WERDEN!");
mysql_select_db("rezept_db",$verbindung) or die("FEHLER BEI DER DATENBANKAUSWAHL");
//$abfrage="SELECT * FROM t_lebensmittel WHERE name=".$_POST['zutat_'.$u]."";
$abfrage="SELECT * FROM t_lebensmittel WHERE name LIKE 'Honig'";
$result=mysql_query($abfrage) or die("FEHLER BEI DER ABFRAGE!");
$entry=mysql_fetch_array($result);

Die erste zusammenstellung des Abfrage Strings hab ich auskomentiert, da der browser (bzw mein sql server) immer wieder crashte.
Habs dann mit der Zweiten versucht.

in $_POST['zutat_'.$u] steht ein String aus einem html select. (dropdownbox)

ich will aus meiner tabelle t_lebensmittel den/alle einträge finden, bei denen das feld name den gesuchten string enthält. (hier z.b. "honig")

nur funktioniert das einfach nicht.
hab schon einiges versucht:

Code:
> ... WHERE name = Honig ...
> ... WHERE name = "Honig" ...
> ... WHERE name = 'Honig' ...
> ... WHERE name = ´Honig´ ...
> ... WHERE ´name´ = Honig ...
und das selbe nochmal alles mit LIKE ... usw...
bin schon richtig confused... :bash:
hab 10000 mögliche LIKE,= und sämtliche Hochkomma - Kombinationen beim googeln gefunden...
aber es wird einfach nicht besser...
entweder der sqlserver crasht oder ich bekomm die meldung: "FEHLER BEI DER ABFRAGE"

Wie genau sieht eine RICHTIGE SQL abfrage nach einem String aus?
ich dachte "WHERE name = 'Honig'" stimmt... aber anscheinend ist das nicht der fall... :S

TIA, mlu

DANKE HAT SICH ERLEDIGT
Bearbeitet von malu am 20.12.2005, 17:17

semteX

hasst die KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14870
Die folgenden beiden Statements zeigen, dass Zeichenketten-Vergleiche die Groß-/Kleinschreibung nicht berücksichtigen, solange nicht einer der Operanden eine binäre Zeichenkette ist: case insensitive unless one of the operands ist a binäre Zeichenkette:

mysql> select 'abc' LIKE 'ABC';
-> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
-> 0


frag ma halt vorher im icq :P
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz