MySQL
Matthias
- php
Hallo, ich habe eine Frage zu folgendem Quelltext:
Via echo ausgegeben hat die Variable $id den Wert 50.
In der Tabelle kunden gibt es einen Eintrag in der Spalte nr mit dem Wert 50.
nr ist mein autoincrementierter Primärschlüssel.
Eine Verbindung zur DB ist hergestellt sonst bekäm ich einen früheren Fehler.
.
.
.
$abfrage = "SELECT * FROM kunden WHERE nr='$id'";
$ergebnis= mysql_query($abfrage,$link) or die ("Fehler.");
.
.
Meine Frage:
Wieso kriege ich da immer nur einen Fehler ausgegeben?
Hilfe und Danke, Matthias
Nabend,
$abfrage = "SELECT * FROM kunden WHERE nr='$id'";
16.14. Warum soll ich nicht SELECT * schreiben?
http://www.dclp-faq.de/q/q-sql-select.html
$ergebnis= mysql_query($abfrage,$link) or die ("Fehler.");
Warum lässt du dir auch nur ein wenig-sagendes "Fehler" ausgeben und nicht zB mysql_error()?
Bis denne,
Nabend,
mit dem mysql_error war schonmal gut.
Er bemängelt das index='50' .
Ich frage mich nur warum, schließlich mach ich die Bedingung doch immer nach diesem Muster... sind die Hochkommata falsch ?
Zu dem *:
Ich brauche tatsächlich alle Spalten. Es ist natürlich unschön, aber
wenns dann mal funktioniert kann ich das immernoch in eine Funktion auslagern, dort sauber schreiben und dann von überallher benutzen.
Jetzt will ich nur mein Proggi testen.
Grüße, Matthias
meine natürlich das nr='50' , es ist mein index
Hello,
wie lautet denn die Fehlermeldung genau?
Und bitte auch das Statement dazu.
Und wenn sich das Problem erledigr hat, bitte die Lösung des Rätsels :-)
Grüße
Tom
hi,
Er bemängelt das nr='50' .
Ich frage mich nur warum, schließlich mach ich die Bedingung doch immer nach diesem Muster... sind die Hochkommata falsch ?
wenn nr in deiner tabellendefinition einen nummerischen typ hat, warum vergleichst du es dann wie einen string?
gruss,
wahsaga
Hallo,
ja schon klar, ist halt meine standard bedingung mit hochkommata, aber selbst ohne macht er nix, ich hab schon zig schreibweisen durch:
( nr=50 )
( nr='50')
nr=50
nr='50'
Aber immer nur der Fehler:
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 'nr='55'' at line 1
hi,
$abfrage = "SELECT * FROM kunden WHERE nr='$id'";
versuch mal folgendes.
$abfrage = "SELECT * FROM kunden WHERE nr=".$id;
Ilja
Hello,
heißt Deine Spalte nun "nr" oder "index" ?
Index ist ein geschütztes Wort in SQL. So darf keine Spalte heißen.
http://www.mysql.com/doc/de/Reserved_words.html
Grüße
Tom