[RESOLU] UPDATE, ne pas mettre à jour les champs vides

Eléphanteau du PHP | 20 Messages

27 sept. 2020, 18:58

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, donc ne pas mettre à jour les champs vides.
Comment puis-je faire ?remplacent

$req = $bdd->prepare("UPDATE MaTable
SET `champ1` = CASE WHEN `champ1`=' ' or `champ1` IS NULL THEN '$champ1' ELSE '$champ1' END, champ2_='$champ2'" WHERE id='$id'");

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

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

Eléphanteau du PHP | 20 Messages

07 oct. 2020, 10:25

Bonjour,
Personne pour m'aider ?
quoi que je tente, si le champ fichier est vide il m'efface le contenu de mon champ dans ma base.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8639 Messages

07 oct. 2020, 12:39

Moi je ferai mes tests en PHP pour construire ensuite la requête SQL adéquate avec uniquement les champs pertinents à mettre à jour.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 20 Messages

07 oct. 2020, 13:42

Oui mais même en faisant des test ça ne change rien

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8639 Messages

07 oct. 2020, 14:24

Oui mais même en faisant des test ça ne change rien
C'est que tu fais mal tes tests en PHP, et/ou que tu construis mal ta requête.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 20 Messages

07 oct. 2020, 14:37

Je suis assez débutant, peut être que je m'y prends mal, peux-tu me donner un exemple stp ?

Mammouth du PHP | 1448 Messages

07 oct. 2020, 17:39

l'exemple a été donné dans la discussion doublon :
post464509.html

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8639 Messages

08 oct. 2020, 14:32

Je verrouille ce sujet.
Pour la bonne lisibilité du forum, merci de ne pas poser des questions en double.
Quand tout le reste a échoué, lisez le mode d'emploi...