probleme mit dem Updaten einer Tabelle
Eike
- php
0 Severin Kacianka0 Mike
Moin!
Ich habe probleme mit dem Updaten einer Tabelle!
//Cookie wurde schon bei einem Login Script erstellt und gespeichert
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
}
}
$nick="$value";
/* Erstellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db("universal",$db);
$result = mysql_query("SELECT * FROM users WHERE UserName='" . $nick . "'");
while($row = mysql_fetch_array($result)) {
//Speichert die Zellen in Variablen ab
$nick=$row['UserName'];
$pass=$row['UserPass'];
$mail=$row['UserMail'];
$icq=$row['ICQ'];
}
//Formular zum Updaten
echo"
<form action=" ";echo $PHP_SELF; echo "" method="post">
<div align="center">
<table border="0" width="318" height="30">
<tr>
<td width="318" height="30">Neuer Nick: </td>
<td width="318" height="30"><input type="text" name="neunick" value="$nick"></td>
</tr>
<tr>
<td width="318" height="30">Neue E-Mail:</td>
<td width="318" height="30"><input type="text" name="neumail" value="$mail"></td>
</tr>
<tr>
<td width="318" height="30">Neues Passwort:</td>
<td width="318" height="30"><input type="password" name="neupass" value="$pass"></td>
</tr>
<tr>
<td width="318" height="30">Neu ICQ:</td>
<td width="318" height="30"><input type="text" name="neuicq" value="$icq"></td>
</tr>
</table>
</div>
<br>
<center><input type="submit" value="Ändern"></form></center>
";
// Versuch 1 von mir die Zellen zu Updaten
$sql = "UPDATE users SET UserName='".$neunick."', UserMail='".$neumail."', UserPass ='" . $neupass . "', ICQ ='" . $neuicq . "' WHERE Nick=$nick";
// Versuch 2 von mir die Zellen zu Updaten
//$sql="UPDATE users SET UserName ='" . $neunick . "', UserMail ='" . $neumail . "', UserPass ='" . $neupass . "', ICQ ='" . $neuicq . "' WHERE Nick ='" . $nick . "'" LIMIT 1 ";
// Versuch 3 von mir die Zellen zu Updaten
//$sql = "UPDATE users SET (UserName,UserMail,UserPass,ICQ) VALUES ('" . $neunick . "','" .$neumail. "','" . $neupass . "','" . $neuicq . "')";
mysql_query($sql);
}
// Ich bekomme bei keinen der drei Möglichkeiten eine Fehlermeldung. Aber irgendwas muss doch Falsch sein. Nur Was?
?>
Hallo,
// Ich bekomme bei keinen der drei Möglichkeiten eine Fehlermeldung. Aber irgendwas muss doch Falsch sein. Nur Was?
Doch, aber du gibst sie nicht aus:
http://at.php.net/manual/en/function.mysql-error.php
Gruß,
Severin
Moin Eike,
Versuch 3 geht gar nicht, weil, das ist der Syntax für INSERT.
Ich habe die vorangehende Schleife nicht geprüft!
Gehen wir mal an das Statement.
$sql = "UPDATE users SET UserName='".$neunick."', UserMail='".$neumail."', UserPass ='" . $neupass . "', ICQ ='" . $neuicq . "' WHERE Nick=$nick";
ist $nick nicht auch ein String? Dann muss es heißen:
WHERE Nick='".$nick."'";
Grüsse
Mike