Jedes Mal, wenn ich die Datenbank aktualisiere, erstelle ich eine neue Zeile mit den neuen Informationen, die ich zu aktualisieren versuchte, und jeweils eine neue customerID, gibt es eine Möglichkeit, dies zu beheben.MYSQL - Update-Datenbank erstellt jedes Mal einen neuen Datensatz
Die Aktualisierungsabfrage ruft zwei Tabellen Cus_acct_details und cus_register auf. Die Abfrage soll cus_email in beiden Tabellen ändern und alle Informationen in cus_acct_details aktualisieren.
PHP
<?php
//$user = $_SESSION["Cus_Email"];
$Cust_ID = $_SESSION["CustomerID"];
if (isset($_POST['Update'])) {
$UpdateFname = $_POST['fname'];
$UpdateLname = $_POST['Lname'];
$UpdateEmail = $_POST['email'];
$UpdatePhone = $_POST['phone'];
}
$sql = $dbc->query("UPDATE Cus_Register, Cus_acc_details
SET Cus_acc_details.CUS_Fname = ' $UpdateFname',
Cus_acc_details.CUS_Lname = ' $UpdateLname',
Cus_acc_details.CUS_Email = ' $UpdateEmail',
Cus_acc_details.Cus_Phone = ' $UpdatePhone',
Cus_Register.CUS_Email = ' $UpdateEmail',
ON Cus_Register.Cus_Email = Cus_acc_details.Cus_Email
WHERE Cus_Register.CustomerID = '$Cust_ID'
");
print_r($_POST);
header('Location: Cus_Account.php');
?>
HTML
<section class="container">
<form id="myform " class="Form" method="post" action="Cus_Account.php?c_id=<?php echo $c_id ?>" accept-charset="utf-8">
<!-- <div id="first">-->
<input type="text" id="fname" name="fname" value="<?php echo $_SESSION['fname']; ?>" required>
<input type="text" id="lname" name="lname" value="<?php echo $_SESSION['lname']; ?>" required>
<input type="text" id="email" name="email" value="<?php echo $_SESSION['Cus_Email']; ?>" required>
<input type="number" id="phone" name="phone" value="<?php echo $_SESSION['phone']; ?>" required>
<input type="submit" name="Update" value="Update">
<br>
</form>
Die $cust_id
Variable früher definiert wurde.
Wo ist ein Fehler aufgetreten.
Ein Update wird nie einen neuen Datensatz einfügen, also muss sg else falsch gehen. – Shadow
Auch ich denke, Sie müssen Ihre Abfrage innerhalb 'if' Bedingung einfügen – fusion3k
Warum müssen Sie die Aktion überprüfen? Überprüfen Sie die Datenbank, falls die customerID gefunden wurde, und aktualisieren Sie sie. Fügen Sie auch die Aktualisierungsabfrage in if block ein. Warum ist es außerhalb des if-Blocks? –