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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] UPDATE 2 tables avec une colonne identique sur chaque table

Re: UPDATE 2 tables avec une colonne identique sur chaque table

par ChrisCMoi62 » 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

Re: UPDATE 2 tables avec une colonne identique sur chaque table

par @rthur » 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

Re: UPDATE 2 tables avec une colonne identique sur chaque table

par ChrisCMoi62 » 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.

Re: UPDATE 2 tables avec une colonne identique sur chaque table

par @rthur » 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.

UPDATE 2 tables avec une colonne identique sur chaque table

par ChrisCMoi62 » 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.