WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP&MySQL (http://www.wcm.at/forum/showthread.php?t=26014)

The_Beax 19.07.2001 16:19

PHP&MySQL
 
ich habe da eine kleine fragen zu php und mysql - besser gesagt zu einen kleinen script das nicht funktioniert


es werden mehr werte eingetragen als ich da jetzt geschrieben habe
$vorname = Martin
Es kommt der Fehler Nicht Erfolgreich weil Feld Martin existiert nicht! ich habe die datenbank mit feldname Vorname aber angelegt! warum schreibt er eigentlich feldname martin???????????? aja verbunden mit der datenbank bin ich natürlich auch


$sql = "INSERT INTO mannschaft (Vorname) VALUES($vorname)";
if(mysql_query($sql, $verbindung))
{
echo "Erfolgreich
\n";
}
else
{
echo "Nicht Erfolgreich
\n";
echo mysql_errno() . ": " . mysql_error() .
"
\n";
}
mysql_close();

The_Beax 21.07.2001 10:48

?

helios 23.07.2001 10:26

Hi

also ich kenn MySQL und PHP nicht, aber der Fehler liegt meines Erachtens an fehlenden Hochkomma's. Martin wird nicht als Stringkonstante erkannt und deshalb behandelt es MySQL als Feldname.
Du schreibst: $vorname = Martin.
Müsste es nicht heissen: $vorname = "Martin" ?

The_Beax 23.07.2001 14:13

nein ist es nicht, weil die daten per formular 100%ig richtig reinkommen - ich hab $vorname=martin nur so geschrieben - natürlich müsste es richtig $vorname="martin"; heißen

also weiß irgendwer von euch woran das liegen kann?

helios 23.07.2001 16:28

Trotzdem, der Fehler deutet ganz darauf hin, dass MySQL Martin nicht als Stringkonstante erkennt und daher annimmt, dass es ein Feldname ist! Wenn der Fehler nicht an der ersten Zuweisung liegt dann, eben an der zweiten.

Was der MySQL-Parser zu sehen bekommt ist offensichtlich das Command:
INSERT INTO mannschaft (Vorname) VALUES(Martin)
heissen müsste es:
INSERT INTO mannschaft (Vorname) VALUES("Martin")

Wie gesagt ich kenne PHP nicht u. weiss daher nicht wie es die Variablenersetzung vornimmt. Vielleicht geht es wenn du in der zweiten Zuweisung einfache Hochkommas beim Variablennamen einsetzt:
$sql = "INSERT INTO mannschaft (Vorname) VALUES('$vorname')";

The_Beax 23.07.2001 18:17

ich mach das so das ich anzeige was in die datenbank eingefügt wurde und da schreibe ich:

echo "Vorname: $vorname
\n";

und es wird

Vorname: Martin

angezeigt also kanns an dem auch nicht liegen oder? aber ich probiers einmal

Spyclop 23.07.2001 21:31

hi,
probiers mal mit:
$sql = "INSERT INTO mannschaft (Vorname) VALUES('".$vorname."')";

des problem ist, dass in sql strings in ' gesetzt werden müssen.

greetz, spy

rhapsodist 23.07.2001 21:51

wie noo1sda schon richtig geschrieben hat:

$sql = "INSERT INTO mannschaft (Vorname) VALUES ('$vorname')";

müsste doch funzen, oder?

The_Beax 24.07.2001 20:24

ja funktioniert vielen dank an alle

nukia 25.07.2001 11:46

gibts wo ein e-book für php und mySQL zu saugen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag