Maison > Questions et réponses > le corps du texte
Comment modifier une ou plusieurs valeurs de sélection ? Si j'entre une valeur, cela fonctionne. Pourtant, si je saisis deux valeurs dans les deux champs de saisie, cela ne fonctionne pas, affichant l'erreur suivante.
Erreur lors de la mise à jour de l'enregistrement : il y a une erreur dans votre vérification de syntaxe SQL ; Le manuel correspondant à la version de votre serveur MariaDB Ligne 1 Syntaxe utilisée près de 'nat = 'saf' WHERE id = '16''
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
Implémentation des commentaires de @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); }