Daten ändern

  • Ersteller Ersteller SGD-Daniel
  • Erstellt am Erstellt am
S

SGD-Daniel

Gast
if(isset($_POST["ID"])) {
$db_host = "***";
$db_user = "***";
$db_pass = "***";
$db_name = "**";
$db = @mysql_connect ($db_host, $db_user, $db_pass) or die ("Die Datenbankverbindung konnte nicht hergestellt werden. Bitte versuchen Sie es später nochmal.");
@mysql_select_db($db_name,$db) or die ("Die Datenbank konnte nicht ausgewählt werden. Bitte versuchen Sie es später nochmal.");
$sql = "UPDATE mitglied SET ID = '".$_POST['ID']."',Name = '".$_POST['Name']."',eMail = '".$_POST['eMail']."',Rechte = '".$_POST['Rechte']."'";
$result=mysql_query($sql);
if($result){
echo "Die Daten wurden erfolgreich aktualsisiert.";
}
else {
echo "Ihre Aktualisierung konnte nicht erfolgen.<br><br>Wenden Sie sich bitte an den Administrator.";
}
@mysql_close();
}
elseif(isset($_POST["ID"])){
?>
<p>Ihre Eintragung ist leider fehlgeschlagen.</p>
<?
}
else {
echo "<form action='./mitglied_aendern.php?id=" . $_GET['id'] . "' method='post'>"; ?>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td align="left">ID</td>
<td><input class="input" name="ID" Value="<? echo $_GET['ID']; ?>" type="text" size="15" maxlength="40"></td>
</tr>
<tr>
<td align="left">Vor- und Zuname</td>
<td><input class="input" name="Name" Value="<? echo $_GET['Name']; ?>" type="text" size="15" maxlength="40"></td>
</tr>
<tr>
<td align="left">E-Mail</td>
<td><input class="input" name="eMail" Value="<? echo $_GET['eMail']; ?>" type="text" size="15" maxlength="40"></td>
</tr>
<tr>
<td align="left">Mitgliedsstatus</td>
<td><input class="input" name="Rechte" Value="<? echo $_GET['Rechte'];?> " type="text" size="15" maxlength="40"></td>
</tr>
</table>
<br><br><hr><br>
<input class="button" type="submit" value="Aktualisieren"></input>
</form>
 
Zuletzt bearbeitet:
SGD-Daniel schrieb:
Ihre Aktualisierung konnte nicht erfolgen.<br><br>Wenden Sie sich bitte an den Administrator.

Bekomme immer diese Fehlermeldung. Was stimmt an der sql-Abfrage nicht? :(
 
Welche Fehlermeldung kommt denn wenn du den Befehl ausgibst und in in PHPmyadmin ausführst?
 
Ist die Frage nicht schon mit meinem zweiten Eintrag beantwortet?
 
Das ist ja die Fehlermeldung die du dem Benuzer anzeigen lässt, die sagt nichts über die Art des Fehlers aus. Ich mache es in so einem Fall wie beschrieben, SQL-Befehl per echo ausgeben lassen und in PHPmyadmin ausführen. Dort bekommt man dann eine genaue Fehlermeldung.

Ansonsten fällt mir auf dass du keinen WHERE-Zweig eingebaut hast, insofern weiß der Server wohl nicht welche Datei geändert werden soll.
 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql = "UPDATE mitglied SET ID = '".$_POST['ID']."',Name = '".$_POST['Name']."',' at line 1
 
Das ist klar, in PHPmyadmin sind die Variablen ($_POST['ID'] etc.) nicht belegt. Desshalb änder den PHP-Code mal temporär so:
PHP:
if($result){
echo "Die Daten wurden erfolgreich aktualsisiert.";
}
else {
//Begin Änderung
echo $sql;
//Ende Änderung
echo "Ihre Aktualisierung konnte nicht erfolgen.<br><br>Wenden Sie sich bitte an den Administrator.";
}
Dann wird beim Ausführen der Befehl angezeigt, den du dann in PHPmyadmin verwenden kannst.
 
UPDATE mitglied SET ID = '20',Name = 'dfgdfg',eMail = mail@gmx.de',Rechte = 'Teamer '

Genauso soll es sein!?!? Funktioniert aber immer noch nicht!
 
Zuletzt bearbeitet:
Dass jetzt in PHPmyadmin eingeben.

Aber ich vermute wie ich bereits geschrieban habe dass es an der fehlenden WHERE-Bedingung liegt.
 
So ist es. ;( Habe gerade WHERE-Bedingung hingeschrieben und es funktioniert.
 
Zurück
Oben