Heim > Fragen und Antworten > Hauptteil
Wie ändere ich einen oder mehrere Auswahlwerte? Wenn ich einen Wert eingebe funktioniert es. Wenn ich jedoch in beide Eingabefelder zwei Werte eingebe, funktioniert es nicht und zeigt die folgende Fehlermeldung an.
Fehler beim Aktualisieren des Datensatzes: Es liegt ein Fehler in Ihrer SQL-Syntaxprüfung vor Das Handbuch, das Ihrer MariaDB-Serverversion entspricht Zeile 1 Syntax, die in der Nähe von 'nat = 'saf' WHERE id = '16'' verwendet wird
if (isset($_POST['modifica'])) { $id = $_POST['id']; $semaphore = false; $sql = "UPDATE users SET "; $fields = array('nume', 'nat', 'email', 'telefon'); foreach ($fields as $field) { if (isset($_POST[$field]) and !empty($_POST[$field])) { $var = ($_POST[$field]); $sql .= $field." = '$var'"; $semaphore = true; } } if ($semaphore) { $sql .= " WHERE id = '$id'"; ($sql); } if ($conn->query($sql) === true) { echo "Record updated successfully"; } else { echo "Error updating record: ".$conn->error; } $conn->close(); }
P粉7980104412024-03-21 00:02:31
@m-eriksson 评论的实施方法:
$sql = "UPDATE users SET nume = :nume, nat = :nat, email = :email, telefon = :telefon"; $fields = array('nume', 'nat', 'email', 'telefon'); if(count($fields) > 0 ){ $this->update($sql, $fields, $con) $semaphore = true; } public function update ($sql, $fields, $con) { $update = $con->prepare($query); return $update->execute($fields); }