problem mit mysql

jfzkhp

Aktives Mitglied
Thread Starter
Dabei seit
21.06.2007
Beiträge
167
Reaktionspunkte
6
hey,

ich hab folgendes problem: jedesmal wenn ich einen string mit einem datenbankeintrag vergleiche bekomme ich den fehler zurück, dass der eintrag nicht existiert.

zb:

SELECT * FROM `$login` WHERE `username` = `$username`

gibt folgenden fehler:

Unknown column 'username' in 'where clause'

ich hab dermaßen oft gekuckt: ich hab nirgends tippfehler drin. es geht nur wenn ich einen integer benutze.

dave
 
mit Verlaub: die Tabelle in der Du suchst wird in $login vorgegeben? :kopfkratz:
Soll das so sein?
 
Probier:

SELECT * FROM `$login` WHERE username = '$username'

und verwende keine "Back-Ticks" bei Feld-Namen und -Werten, sondern normale, einfache Anführungszeichen.. natürlich nur um den Wert.
 
Ich würd' ja mit LIKE Strings vergleichen.

Ist aber vielleicht bei mySql anders ... ;-)
 
Ich würd' ja mit LIKE Strings vergleichen.

Ist aber vielleicht bei mySql anders ... ;-)

Bei varchar macht es durchaus Sinn auf Gleichheit zu vergleichen! Sonst ist nachher der User '%Müller%' auch like 'Grossmüller' ;)
Bei char(x) Feldern kann das nat. nicht klappen ! :jaja:
 
Bei MySQL geht beides für Strings: LIKE und =, wenn es auf einen genauen Test ankommt.

Außerdem, wird das nicht das Problem des TE lösen. Denn dann wäre es eine andere Fehlermeldung und nicht "unknown column" was ja mehr als eindeutig ist.

Ich kann wie immer bei solchen Dingen nur sagen/fragen: Wie ist die endgültige, aufgelöste Query, die an die Datenbank geht? Denn nur da kann man nach einem Fehler suchen. Anders macht es keinen Sinn. Wir können hier herum spekulieren wie oder wie auch nicht $login initialisiert ist. Es wird uns nicht der Lösung näher bringen.
 
Probier:

SELECT * FROM `$login` WHERE username = '$username'

und verwende keine "Back-Ticks" bei Feld-Namen und -Werten, sondern normale, einfache Anführungszeichen.. natürlich nur um den Wert.
Genau das ist auch kein guter Hinweis. Denn dann können wieder andere Probleme hinzukommen. Wenn nämlich eigentlich reservierte Namen für die Spalten genommen wurden. Denn diese lassen sich nur mit den Backticks korrekt auflösen.
 
Zurück
Oben Unten