[RESOLU] UPDATE 2 tables avec une colonne identique sur chaque table

Eléphant du PHP | 67 Messages

17 juil. 2021, 14:07

Bonjour,
Je souhaite effectuer sur la même page 2 requêtes UPDATE
}

Code : Tout sélectionner

$req = $pdo->prepare( "UPDATE Table1 SET ch1=:ch1 WHERE id=:id " ); $req->bindValue( 'id', $_POST[ 'id' ] ); $req->bindValue( 'ch1', $_POST[ 'ch1' ] ); $req->execute(); $req->closeCursor(); Puis après ce que 1ère soit mise à jour mettre à jour la seconde : $req2 = $pdo->prepare( "UPDATE Table2 SET ch1=:ch1 WHERE ch1=:ch1 " ); $req2->bindValue( 'ch1', $_POST[ 'ch1' ] ); $req2->execute(); $req2->closeCursor();
J'ai cherché sur le net et d'après ce que j'ai cru comprendre il faut utiliser une jointure, mais je ne comprends rien, quelqu'un peut m'expliquer me guider ?
Merci d'avance de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8982 Messages

18 juil. 2021, 00:58

Non pas besoin de jointure.
Par contre, dans ta 2ème requête c'est étrange que SET et WHERE soient les mêmes.

Par ailleurs il est impossible d'avoir le même placeholder (:ch1 dans ton cas) deux fois dans la même requête, il faut que tu les nommes différement.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 67 Messages

18 juil. 2021, 08:15

Bonjour,
Dans la 2e requête je veux remplacer la valeur du champ par la valeur de la 1ère requête, il peut donc y avoir plusieurs lignes qui changent.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8982 Messages

19 juil. 2021, 10:22

UPDATE Table2 SET ch1=12 WHERE ch1=12
ça n'a pas de sens de faire un update d'une valeur là où il y a déjà cette même valeur
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 67 Messages

19 juil. 2021, 10:45

Bonjour, j'ai réussi à résoudre mon problème, c'était juste un problème dans ma requête. Merci de votre aide