UPDATE champs vides

Eléphanteau du PHP | 20 Messages

25 sept. 2020, 16:41

Bonjour,
Je souhaite exécuter une requête de mise à jour via un formulaire, or, je ne souhaite pas que les champs laissés vides ne remplacent les valeurs existantes. comment puis-je faire ?remplacent

$req = $bdd->prepare("UPDATE Matable SET
id='$id', champ1='$champ1', champ2='$champ2', champ3='$champ3', champ4='$champ4' WHERE id_='$id_'");

$req->bindValue('id',$_POST['id']);
$req->bindValue('champ1',$_FILES['champ1']);
$req->bindValue('champ2',$_FILES['champ2']);
$req->bindValue('champ3',$_FILES['champ3']);
$req->bindValue('champ4',$_FILES['champ4']);
$req->execute();

Quelqu'un a une idée ?
Merci de votre aide

Mammouth du PHP | 1448 Messages

25 sept. 2020, 19:54

$sql = "UPDATE Matable SET ";
if($champ1 != ''){
$sql .= "champ1='$champ1'";
}
....
$sql .= " WHERE id_='$id_'";

manque la gestion des ,

Eléphanteau du PHP | 20 Messages

26 sept. 2020, 08:42

Bonjour, merci de m'avoir répondu, je viens de tester ça ne fonctionne pas, pouvez-vous l'adapter sur ma requête ?
$req = $bdd->prepare("UPDATE Matable SET
id='$id', champ1='$champ1', champ2='$champ2', champ3='$champ3', champ4='$champ4' WHERE id_='$id_'");