Fehler mit MYSQL (PHP)
thomas
- datenbank
Warum bekomme ich bei folgendem Script diese Fehlermeldung:
Parse error: parse error, unexpected T_VARIABLE in c:\programme\apache group\apache\htdocs\db\register.php on line 9
Script:
$benutzer=$_POST["benutzer"];
$passwort=$_POST["passwort"];
$email=$_POST["email"];
mysql_connect("localhost", "thomas", "bla");
mysql_select_db("user");
$eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
mysql_query($eintrag);
Danke schonmal für erleuchtende Antworten!
Sorry, ich muss mal das ganze Script posten:
<?php
$benutzer=$_POST["benutzer"];
$passwort=$_POST["passwort"];
$email=$_POST["email"];
mysql_connect("localhost", "thomas", "bla");
mysql_select_db("user");
$eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
mysql_query($eintrag);
?>
("$benutzer", "$passwort", "$email")";
^^^^^^ hier ist der String das erste mal zuende
benutze '
'$benutzer' oder baue den String besser zusammen
ciao
romy
Guude!
Ich schätze, dass die Zeile 9 die mit $eintrag = ... ist. Denn hier verwendest Du innerhalb von doppelten Anführungszeichen nochmal ". Schreibe einfach ...VALUES('$benutzer', '$passwort', '$email')";, dann funktioniert's auch.
LG
Lemmy
Neue Homepage, neues Design: http://www.olison.com
Parse error: parse error, unexpected T_VARIABLE in c:\programme\apache group\apache\htdocs\db\register.php on line 9
$eintrag="INSERT bla VALUES ("$benutzer", "$passwort", "$email")";
------------1-------------------2---------3--4---------5--6------7-8
Bei den Zahlen beginnt (ungerade) bzw. endet (gerade) jeweils eine Zeichenkette. Du hast also geschrieben:
$eintrag = "INSERT.." $benutzer ", " $passwort
Variable gleich Zeichenkette Variable Zeichenkette Variable usw.
Und nun überlege mal: Was ist das für eine Gleichung? Fehlt da nicht noch irgendwie ein Operator, der besagt, was Du mit den ganzen Zeichenketten und Variablen machen möchtest? Du schreibst ja auch nicht
$x = 1 $a 3 $b
sondern
$x = 1+$a+3+$b
Theoretisch korrekt wäre also:
$eintrag = "INSERT.." . $benutzer . ", " usw.
Variable gleich Zeichenkette Operator Variable Operator Zeichenkette
zur
Verknüpfung
Praktisch korrekt ist:
$eintrag = "INSERT.." . mysql_escape_string($benutzer) . ", " usw.
mysql_escape_string() schützt Dich vor mehr oder weniger böswilligen Stolperfallen in den Variablen, die Dir den SQL-Befehl zerlegen. Näheres dazu und zu Zeichenkettenoperatoren findest Du in der PHP-Anleitung.
Gruß,
soenk.e
Warum bekomme ich bei folgendem Script diese Fehlermeldung:
Parse error: parse error, unexpected T_VARIABLE in c:\programme\apache group\apache\htdocs\db\register.php on line 9
Script:
$benutzer=$_POST["benutzer"];
$passwort=$_POST["passwort"];
$email=$_POST["email"];mysql_connect("localhost", "thomas", "bla");
mysql_select_db("user");
$eintrag = "INSERT INTO werte (benutzer, passwort, email) VALUES ("$benutzer", "$passwort", "$email")";
mysql_query($eintrag);Danke schonmal für erleuchtende Antworten
$Connection = mysql_connect ("127.0.0.1","Benutzername","Passwort");
$DB = mysql_select_db ("user");
$Result = mysql_query ("INSERT INTO werte (benutzer,passwort,email) VALUES ("".$_POST[benutzer]."", "".$_POST[passwort]."", "".$_POST[email]."");");
if (mysql_affected_rows == 0) return FALSE;
else return TRUE;