[RESOLU] probleme INSERT

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] probleme INSERT

Re: probleme INSERT

par nestor94 » 22 févr. 2023, 19:37

oups, voilà qui est mieux !
$annonce= "UNE CENTRALE NUCLEAIRE A ÉTÉ NATIONALISÉE À";
$sql= "INSERT INTO WNN (annonce, lieu) VALUES (:annonce, :lieu)";
$prep =  $bdd->prepare($sql);
$prep->bindvalue(':annonce',$annonce,PDO::PARAM_STR);
$prep->bindvalue(':lieu',$nom_pays,PDO::PARAM_STR);

$prep->execute();

Re: probleme INSERT

par or 1 » 22 févr. 2023, 19:36

$sql= "INSERT INTO WNN (annonce, lieu) VALUES (:annonce, A:nom_pays)";
il y a du mieux mais un caractère en trop.

Re: probleme INSERT

par nestor94 » 22 févr. 2023, 19:30

J'ai le meme message erreur en modifiant ainsi
$annonce= "UNE CENTRALE NUCLEAIRE A ÉTÉ NATIONALISÉE";
$sql= "INSERT INTO WNN (annonce, lieu) VALUES (:annonce, A:nom_pays)";
$prep =  $bdd->prepare($sql);
$prep->bindvalue(':annonce',$annonce,PDO::PARAM_STR);
$prep->bindvalue(':lieu',$nom_pays,PDO::PARAM_STR);
$prep->execute();

Re: probleme INSERT

par ynx » 22 févr. 2023, 12:56

Ta requête n'est pas préparée correctement, il faut utiliser des marqueurs nommés dans ta requête (:annonce, :lieu) et pas directement les variables php ($annonce, $nom_pays).
Voir https://www.php.net/manual/fr/pdo.prepare.php

probleme INSERT

par nestor94 » 22 févr. 2023, 12:53

$pdostat = $bdd->prepare("SELECT nom_pays FROM pays LEFT JOIN membres ON pays.pos_x_map = membres.pos_x AND pays.pos_y_map = membres.pos_y WHERE membres.id=:id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
$membreSession  = $pdostat->fetch();    
if (!empty($membreSession)) { 
$nom_pays = $membreSession['nom_pays'];
}
$annonce= "UNE CENTRALE NUCLEAIRE A ÉTÉ NATIONALISÉE";
$sql= "INSERT INTO WNN (annonce, lieu) VALUES ('$annonce',  'A $nom_pays')";
$prep =  $bdd->prepare($sql);
$prep->bindvalue(':annonce',$annonce,PDO::PARAM_STR);
$prep->bindvalue(':lieu',$nom_pays,PDO::PARAM_STR);
$prep->execute();
Invalid parameter number: number of bound variables does not match number of tokens in /home/clients/78f15c36

Je ne saisis pas d'ou vient l'erreur