Eike: probleme mit dem Updaten einer Tabelle

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?

?>

  1. 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

    --
    They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
    -- Benjamin Franklin
  2. 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

    --
    Freunde kommen und gehen. Feinde sammeln sich an.