Hilfe UPDATE, Daten werden nicht geändert

R-a-Z-o-R

<lol />
ID: 398145
L
25 Mai 2010
22
0
Hallo... ich versuche Datensätze aus meiner mySQL Datenbank per Formular auszulesen und dann zu ändern. Das auslesen funktioniert aber das ändern leider nicht. Bin noch nicht so fitt mit PHP und mySQL. Vielleicht kann einer der Erfahrenen User hier den Fehler schnell finden und mir somit helfen. Ich probier das schon seit Stunden aber es will einfach nicht funktionieren.

Hier der Code:
PHP:
<?php
$conn = mysql_connect('x', 'x', 'x');
mysql_select_db('x', $conn);





if ($_POST['action'] == 'edit') {
mysql_query("UPDATE `termine` SET
`termin` = '".$_POST['termin']."',
`ort` = '".$_POST['ort']."',
`anliegen` = '".$_POST['anliegen']."',
`ansprechpartner` = '".$_POST['ansprechpartner']."',
`telefon` = '".$_POST['telefon']."',
`email` = '".$_POST['email']."',
`mitbringen` = '".$_POST['mitbringen']."',
WHERE `t_id` = '".$_POST['t_id']."'");
}




$result = mysql_query("SELECT * FROM `termine`");
while ($row = mysql_fetch_array($result)) {

echo '<a href="?action=edit&t_id='.$row['t_id'].'">'.$row['t_id'].'</a> -
'.$row['termin'].',
'.$row['ort'].',
'.$row['anliegen'].',
'.$row['ansprechpartner'].',
'.$row['telefon'].',
'.$row['email'].',
'.$row['mitbringen'].',
<br>';
}


echo '<br><br><hr>
<form action="'.$_SERVER['PHP_SELF'].'" method="post">';

if ($_GET['action'] == 'edit') {
echo 'Bearbeiten '.$_GET['t_id'].':<br><br>';
echo '<input type="hidden" name="action" value="edit">';
echo '<input type="hidden" name="t_id" value="'.$_GET['t_id'].'">';
$result = mysql_query("SELECT * FROM `termine` WHERE `t_id` = '".$_GET['t_id']."'");
$row = mysql_fetch_array($result);
$termin = $row['termin'];
$ort = $row['ort'];
$anliegen = $row['anliegen'];
$ansprechpartner = $row['ansprechpartner'];
$telefon = $row['telefon'];
$email= $row['email'];
$mitbringen = $row['mitbringen'];




} else {
echo '<input type="hidden" name="action" value="add">';
}
echo '  Termin.: <br><input type="text" name="termin" value="'.$termin.'"><br><br>';
echo '  Ort: <br><input type="text" name="ort" value="'.$ort.'"><br><br>';
echo '  Anliegen: <br><input type="text" name="anliegen" value="'.$anliegen.'"><br><br>';
echo '  Ansprechpartner: <br><input type="text" name="ansprechpartner" value="'.$ansprechpartner.'"><br><br>';
echo '  Telefon: <br><input type="text" name="telefon" value="'.$telefon.'"><br><br>';
echo '  Email: <br><input type="text" name="email" value="'.$email.'"><br><br>';
echo '<br>  Mitbringen: <br><textarea rows="10" cols="80" name="mitbringen">'.$mitbringen.'</textarea><br><br>';

echo '<input type="hidden" name="submit" value="true">';
echo '<center><input type="submit" value="Speichern"></center>';
echo '</form>';

mysql_close($conn);

?>

Also es kommt kein syntax Fehler oder sowas. Alles funktioniert außer dass die Daten halt nicht geändert werden.

Hoffe mir kann jemand helfen, wäre SUPER.

Danke schonmal im Vorraus.
 
Füg direkt nach dem UPDATE-Befehl mal folgende Zeile ein:
PHP:
echo mysql_error();
Das wird Dir dann eine aussagekräftige Meldung ausspucken, wo der Fehler liegt.
 
LOL liro

er will doch nur daten selbst ändern. Oder will er dieses formular andern zur verfügung stellen ?

Daten zu Ändern in der Db macht man auch nicht übers Formular sondern einach per Update
 
Daten zu Ändern in der Db macht man auch nicht übers Formular sondern einach per Update
Er versucht doch eben grade ein UPDATE zu machen ;)

Ich würde zusätzlich zum mysql_error() auch immer die mysql_affected_rows() angucken. Wer sagt denn, dass es einen Fehler gibt? Wenn ich da schon wieder sehe, dass eine ID, die sich sehr nach Zahl anhört, wild nach String gecastet wird, ... :xx:
 
PHP:
`mitbringen` = '".$_POST['mitbringen']."', 
WHERE `t_id` = '".$_POST['t_id']."'");


das Komma vor dem WHERE ist falsch
 
PHP:
`mitbringen` = '".$_POST['mitbringen']."', 
WHERE `t_id` = '".$_POST['t_id']."'");


das Komma vor dem WHERE ist falsch

Boah. Es funktioniert super vielen herzlichen Dank :clap:

Also das ganze läuft nur bei mir Local auf dem PC also von außen gar nicht erreichbar deswegen braucht das denke ich mal nicht so sicher zu sein.

Auch an die anderen nochmal Danke.