Ungültige Abfrage: Unknown column 'xxx' in 'field list'
erbsnehirn
- php
0 ChrisB0 erbsenhirn0 ChrisB
0 EKKi- datenbank
0 dedlfix
0 Tom
Hiho,
ich hab folgenden Quelltext:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$benutzername = $_POST["benutzername"];
$passwort = $_POST["passwort"];
$passwortcheck = $_POST["passwortcheck"];
if ($passwort == $passwortcheck) {
$link = mysql_connect('localhost', 'xxx', 'xxx');
if (!$link) {
die('Keine Verbindung möglich: ' . mysql_error());
}
$db = mysql_select_db('manwiedumm', $link);
if (!$db) {
die ('Kann Datenbank nicht benutzen : ' . mysql_error());
}
$sql = 'INSERT INTO `manwiedumm`.`Daten` (`ID`, `Benutzername`, `Passwort`) VALUES(NULL, '.$benutzername.', '.$passwort.');';
var_dump($sql);
$result = mysql_query($sql);
if (!$result) {
die('Ungültige Abfrage: ' . mysql_error());
}
mysql_close($link);
};
?>
Es erscheint:
string(96) "INSERT INTO manwiedumm
.Daten
(ID
, Benutzername
, Passwort
) VALUES(NULL, lol, Passwort);" Ungültige Abfrage: Unknown column 'lol' in 'field list'
Was mache ich falsch?
Vielen Dank
Hi,
Es erscheint:
string(96) "INSERT INTOmanwiedumm
.Daten
(ID
,Benutzername
,Passwort
) VALUES(NULL, lol, Passwort);" Ungültige Abfrage: Unknown column 'lol' in 'field list'
Was mache ich falsch?
Du gibst einen Spaltennamen an, der nicht existiert.
Du hast dich offenbar nicht über elementare Grundlagen der Syntax informiert.
http://dev.mysql.com/doc/refman/5.1/en/string-syntax.html
MfG ChrisB
Also die Spalte existiert. xD
Hi,
Also die Spalte existiert. xD
Wenn MySQL dir sagt, dass innerhalb einer Tabelle keine Spalte mit dem Bezeichner lol existiert, darfst du das ruhig glauben - MySQL hat da etwas mehr Ahnung von, als ein Erbsenhirn.
MfG ChrisB
Mahlzeit erbsnehirn,
$benutzername = $_POST["benutzername"];
$passwort = $_POST["passwort"];
$passwortcheck = $_POST["passwortcheck"];
Warum (immer noch) dieses überflüssige Umkopieren?
$sql = 'INSERT INTO
manwiedumm
.Daten
(ID
,Benutzername
,Passwort
) VALUES(NULL, '.$benutzername.', '.$passwort.');';
Hast Du Dir mal testweise den Inhalt der Variablen $sql ausgeben lassen? Was fällt Dir auf?
Es erscheint:
string(96) "INSERT INTOmanwiedumm
.Daten
(ID
,Benutzername
,Passwort
) VALUES(NULL, lol, Passwort);" Ungültige Abfrage: Unknown column 'lol' in 'field list'
Hast Du mal versucht, *genau die Abfrage*, die hier in der Fehlermeldung erscheint, an die Datenbank zu schicken? Was fällt Dir auf?
Was mache ich falsch?
Dir ist anscheinend nicht klar, wie man mit Zeichenketten in SQL umgeht. Eigne Dir dieses Wissen an - es ist absolutes Grundlagenwissen!
MfG,
EKKi
Hi!
ir ist anscheinend nicht klar, wie man mit Zeichenketten in SQL umgeht. Eigne Dir dieses Wissen an - es ist absolutes Grundlagenwissen!
Zeichenketten werden aber im Kapitel Language Structure -> Literal Values -> Strings behandelt. Da ist dann auch zu sehen, dass man einige Zeichen besonders notieren muss, damit diese nicht falsch interpretiert werden. Dies nicht zu beachten ist immer noch einer der häufigsten Programmierfehler. Das Grundlagenwissen dazu gibt es im Artikel zum Kontextwechsel.
Lo!
Hello,
$sql = 'INSERT INTO
manwiedumm
.Daten
(ID
,Benutzername
,Passwort
) VALUES(NULL, '.$benutzername.', '.$passwort.');';
Was mache ich falsch?
Du hast in den Values Spaltenbezeichner angegeben, die nicht vorhanden sind.
Wolltest Du nicht besser Literale übergeben? Die müssen dann aber auch als solche gekennzeichnet werden. Das haben Dir schon die Anderen gesagt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg