Der folgende Beitrag wurde am 03. 01. 2009, 20:24 Uhr von grdllg veröffentlicht.
Wieso krieg ich diese Fehlermeldung
Unknown column 'Anglo' in 'where claue'
bei dieser Abfrage:SELECT
* FROM hunde WHERE `alter` >= 7 AND `alter` <= 9 AND `rasse` = Anglo AND preis >= 4001 AND preis <= 8000
? In diesem Fall ist doch Rasse die Spalte und Anglo der Wert für die Spalte!?
Schönen Abend
Der folgende Beitrag wurde am 03. 01. 2009, 20:27 Uhr von minicrispie veröffentlicht.
Hallo,
> Wieso krieg ich diese Fehlermeldung
>
> Unknown column 'Anglo' in 'where claue'
>
> bei dieser Abfrage:
>
> SELECT
> * FROM hunde WHERE `alter` >= 7 AND `alter` <= 9 AND `rasse` = Anglo AND preis >= 4001 AND preis <= 8000
>
> ? In diesem Fall ist doch Rasse die Spalte und Anglo der Wert für die Spalte!?
nö ... in diesem fall ist:
alter ein wert,
alter ein wert und
rasse ein wert.
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 03. 01. 2009, 20:33 Uhr von gdlrgg veröffentlicht.
> nö ... in diesem fall ist:
> alter ein wert,
> alter ein wert und
> rasse ein wert.
Stimmt, macht mehr Sinn. Hab das ganze jetzt mit Hochkommas versehen, jetzt gibts diese Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter >= 2 AND alter <= 5 AND rasse = '.Anglo.' AND preis' at line 1
Mein Query:SELECT * FROM hunde WHERE alter >= 2 AND alter <= 5 AND rasse = '.Anglo.' AND preis >= 4001 AND preis <= 8000
Der folgende Beitrag wurde am 03. 01. 2009, 20:39 Uhr von minicrispie veröffentlicht.
Hallo,
> Stimmt, macht mehr Sinn. Hab das ganze jetzt mit Hochkommas versehen, jetzt gibts diese Fehlermeldung:
>
> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter >= 2 AND alter <= 5 AND rasse = '.Anglo.' AND preis' at line 1
>
> Mein Query:
>
> SELECT * FROM hunde WHERE alter >= 2 AND alter <= 5 AND rasse = '.Anglo.' AND preis >= 4001 AND preis <= 8000
das ganze machst du sicherlich mit PHP ...
1. nur ne schönheitssache, aber nimm für text immer LIKE ;)
2. Anglo ist bestimmt eine Variable, wenn ja, dann zeichne sie auch so aus. wenn nein, dann mach die punkte weg.
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 03. 01. 2009, 20:44 Uhr von grdllg veröffentlicht.
> das ganze machst du sicherlich mit PHP ...
> 1. nur ne schönheitssache, aber nimm für text immer LIKE ;)
> 2. Anglo ist bestimmt eine Variable, wenn ja, dann zeichne sie auch so aus. wenn nein, dann mach die punkte weg.
>
>
> MfG. Christoph Ludwig
Autsch... stimmt, die Variable hab ich nicht ganz richtig ausgewiesen. Trotzdem verschwindet die Meldung leider nicht... :|
Nur die Punkte (und ich geb gleich nochmal die Abfrage mit):SELECT * FROM hundee WHERE alter >= 2 AND alter <= 6 AND rasse LIKE Anglo AND preis >= 4001 AND preis <= 8000
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter >= 2 AND alter <= 6 AND rasse LIKE Anglo AND preis >' at line 1
Auf line 1 steht nur <?php
hilfeeee wo liegt der verdammte Fehler?!
Herzlichen Dank für die schnellen Antworten
Der folgende Beitrag wurde am 03. 01. 2009, 20:46 Uhr von minicrispie veröffentlicht.
Hallo,
> Autsch... stimmt, die Variable hab ich nicht ganz richtig ausgewiesen. Trotzdem verschwindet die Meldung leider nicht... :|
> Nur die Punkte (und ich geb gleich nochmal die Abfrage mit):
>
> [code lang=php]SELECT * FROM hundee WHERE alter >= 2 AND alter <= 6 AND rasse LIKE Anglo AND preis >= 4001 AND preis <= 8000
du musst dir auch durchlesen, was andre schreiben:
WAS willst du:
das Anglo eine VARIABLE( $Anglo ) ODER
ein STRING( "... 'Anglo' ... ") ist ?
entscheide dich.
> Autsch...
das sag ich mir auch grad ;)
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 03. 01. 2009, 20:51 Uhr von grdllg veröffentlicht.
> du musst dir auch durchlesen, was andre schreiben:
> WAS willst du:
> das Anglo eine VARIABLE( $Anglo ) ODER
> ein STRING( "... 'Anglo' ... ") ist ?
>
> entscheide dich.
>
> > Autsch...
> das sag ich mir auch grad ;)
>
>
> MfG. Christoph Ludwig
Habe gerade die Spalte von Alter in Age umbenannt -> neues Problem weg, altes Problem wieder da :| Also Anglo ist ein String von der Variable $rasse. Das ganze füg ich so ein:$sql = "SELECT * FROM hunde WHERE age >= 3 AND age <= 8 AND rasse LIKE '.$anglo.' AND preis >= 4001 AND preis <= 8000";
Hab ich mal wieder was übersehen?SELECT * FROM hunde WHERE age >= 3 AND age <= 8 AND rasse LIKE Anglo AND preis >= 4001 AND preis <= 8000
Unknown column 'Anglo' in 'where clause'
Der folgende Beitrag wurde am 03. 01. 2009, 20:53 Uhr von ChrisB veröffentlicht.
Hi,
> $sql = "SELECT * FROM hunde WHERE age >= 3 AND age <= 8 AND rasse LIKE '.$anglo.' AND preis >= 4001 AND preis <= 8000";
>
> Hab ich mal wieder was übersehen?
>
> SELECT * FROM hunde WHERE age >= 3 AND age <= 8 AND rasse LIKE Anglo AND preis >= 4001 AND preis <= 8000
>
> Unknown column 'Anglo' in 'where clause'
Die Meldung kann nicht kommen, wenn du wirklich oben stehende Query an die DB abgesendet haettest - also hast du das wohl nicht getan.
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Der folgende Beitrag wurde am 03. 01. 2009, 21:00 Uhr von grdllg veröffentlicht.
> Die Meldung kann nicht kommen, wenn du wirklich oben stehende Query an die DB abgesendet haettest - also hast du das wohl nicht getan.
>
> MfG ChrisB
>
>
danke für die antwort. problem gelöst
Der folgende Beitrag wurde am 03. 01. 2009, 20:58 Uhr von minicrispie veröffentlicht.
Hallo,
$sql = "SELECT * FROM hunde WHERE age >= 3 AND age <= 8 AND rasse LIKE '.$anglo.' AND preis >= 4001 AND preis <= 8000";
wenn du einen string mit einem hochkomma anfängst musst du ihn auch so beenden.
"SELECT ... WHERE rasse LIKE 'test' ...;"
so soll das abgesendet werden. oder?
also:
"SELECT ... WHERE rasse LIKE '" . $Anglo . "' ...;"
basta!
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 03. 01. 2009, 20:51 Uhr von ChrisB veröffentlicht.
Hi,
> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter >= 2 AND alter <= 6 AND rasse LIKE Anglo AND preis >' at line 1[/code]
>
> Auf line 1 steht nur <?php
> hilfeeee wo liegt der verdammte Fehler?!
Damit ist selbstverstaendlich die Zeile #1 des SQL-Statements, dass du an die Datenbank gesendet hast, gemeint.
Und jetzt lies den Link bzgl. reservierter Woerter in MySQL, den ich dir gepostet habe.
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Der folgende Beitrag wurde am 03. 01. 2009, 23:37 Uhr von MudGuard veröffentlicht.
Hi,
> 1. nur ne schönheitssache, aber nimm für text immer LIKE ;)
Wozu? LIKE ist dann sinnvoll, wenn mit einem Suchmuster verglichen wird. Für Literale ist LIKE nicht notwendig.
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
Der folgende Beitrag wurde am 03. 01. 2009, 20:40 Uhr von ChrisB veröffentlicht.
Hi,
> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter >= 2 AND alter <= 5 AND rasse = '.Anglo.' AND preis' at line 1
http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
Der folgende Beitrag wurde am 03. 01. 2009, 23:36 Uhr von MudGuard veröffentlicht.
Hi,
> > SELECT
> > * FROM hunde WHERE `alter` >= 7 AND `alter` <= 9 AND `rasse` = Anglo AND preis >= 4001 AND preis <= 8000
> nö ... in diesem fall ist:
> alter ein wert,
Falsch. alter und rasse sind hier Spaltennamen. Du verwechselst ` und '.
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
Der folgende Beitrag wurde am 03. 01. 2009, 23:46 Uhr von minicrispie veröffentlicht.
Hallo,
> Falsch. alter und rasse sind hier Spaltennamen. Du verwechselst ` und '.
ehrlich? ... ach mist. ist aber trotzdem sinnlos, ` zu setzen, weil es unnötige zeichen im query sind(sofern der spaltenname keine sonderzeichen enthält)
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 04. 01. 2009, 00:03 Uhr von Vinzenz Mai veröffentlicht.
Hallo,
> > Falsch. alter und rasse sind hier Spaltennamen. Du verwechselst ` und '.
>
> ehrlich? ... ach mist. ist aber trotzdem sinnlos, ` zu setzen, weil es unnötige zeichen im query sind(sofern der spaltenname keine sonderzeichen enthält)
im speziellen Fall hier, eine Spalte trägt den ungünstigen Namen
alter
ist es notwendig, den Spaltennamen gemäß dem verwendeten SQL-Dialekt zu quoten.
Freundliche Grüße
Vinzenz
Der folgende Beitrag wurde am 04. 01. 2009, 00:07 Uhr von minicrispie veröffentlicht.
Hallo,
> im speziellen Fall hier, eine Spalte trägt den ungünstigen Namen
>
> alter
>
> ist es notwendig, den Spaltennamen gemäß dem verwendeten SQL-Dialekt zu quoten.
ja ok, das ist ein reserviertes wort. aber bei nicht-reservierten wörten würde das von mir geschriebene zutreffen.
MfG. Christoph Ludwig
--
Wo die Sprache aufhört, fängt die Musik an...
Selfcode: ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
Go to this
Der folgende Beitrag wurde am 04. 01. 2009, 02:11 Uhr von dedlfix veröffentlicht.
echo $begrüßung;
> [...] aber bei nicht-reservierten wörten würde das von mir geschriebene zutreffen.
> > > ist aber trotzdem sinnlos, ` zu setzen, weil es unnötige zeichen im query sind
Es gibt einige im Prinzip sinnlose/überflüssige Dinge, die aber das Lesen eindeutiger machen. Mitunter setzt man Klammern, obwohl diese aufgrund der Operatorrangfolge nicht notwendig sind, um zu zeigen, was man beabsichtigt hatte. Auch das Verwenden von ` ist eine Art von meist überflüssiger eindeutiger Kennzeichnung. Für den Parser ist es ein Mehraufwand, der im Grundrauschen untergeht. Im verstehenden Lesen und Analysieren des Geschriebenen ist ein Mensch deutlich langsamer. Der Nachteil des Überflüssigen ist oft ein nicht zu unterschätzender Vorteil bei der Wartung.
echo "$verabschiedung $name";
Der folgende Beitrag wurde am 04. 01. 2009, 09:23 Uhr von MudGuard veröffentlicht.
Hi,
> Auch das Verwenden von ` ist eine Art von meist überflüssiger eindeutiger Kennzeichnung. Für den Parser ist es ein Mehraufwand, der im Grundrauschen untergeht.
Ist es wirklich ein Mehraufwand?
Immerhin weiß der Parser bei Verwendung von `` sofort, daß es sich um einen Spaltennamen handeln muß und nicht auch ein Keyword sein könnte, er kann sich also sparen, die Liste der keywords zu durchsuchen ...
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
Der folgende Beitrag wurde am 03. 01. 2009, 20:29 Uhr von ChrisB veröffentlicht.
Hi,
> Wieso krieg ich diese Fehlermeldung
>
> Unknown column 'Anglo' in 'where claue'
Weil du eine Spalte namens Anglo ansprichst, aber keine solche hast.
> ? In diesem Fall ist doch Rasse die Spalte und Anglo der Wert für die Spalte!?
http://dev.mysql.com/doc/refman/5.1/en/string-syntax.html
MfG ChrisB
--
„This is the author's opinion, not necessarily that of Starbucks.“
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4