par
nestor94 » 05 oct. 2021, 11:29
$idMembreSession = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
$pdostat = $bdd->prepare('SELECT * FROM membres WHERE id = :id');
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
//-- MAJ du nom de la ville et de ses coordonnées en table ville depuis la table map
$pdostat = $bdd->prepare("SELECT msg_nom_ville, pos_x, pos_y FROM map LEFT JOIN membres ON map.pos_x = membres.pos_x AND map.pos_y = membres.pos_y WHERE membres.id=:id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
if (!empty($membreSession )) {
$msg_nom_ville = $membreSession['msg_nom_ville'];
$pos_x = $membreSession['pos_x'];
$pos_y = $membreSession['pos_y'];
}
$pdostat = $bdd->prepare('INSERT INTO map_ville (nom_ville, pos_x_map, pos_y_map) VALUES (:msg_nom_ville, :pos_x, :pos_y)');
$pdostat->bindvalue(':msg_nom_ville', $membreSession['msg_nom_ville'], PDO::PARAM_STR);
$pdostat->bindvalue(':pos_x', $membreSession['pos_x'], PDO::PARAM_STR);
$pdostat->bindvalue(':pos_y', $membreSession['pos_y'], PDO::PARAM_STR);
$pdostat->execute();
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1052 Champ: 'pos_x' dans field list est ambigu in C:\wamp
pos_x et pos_y sont dans la table map ET la table membres, comment éviter cette erreur?
[PHP]
$idMembreSession = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
$pdostat = $bdd->prepare('SELECT * FROM membres WHERE id = :id');
$pdostat->bindvalue(':id', $idMembreSession, PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
//-- MAJ du nom de la ville et de ses coordonnées en table ville depuis la table map
$pdostat = $bdd->prepare("SELECT msg_nom_ville, pos_x, pos_y FROM map LEFT JOIN membres ON map.pos_x = membres.pos_x AND map.pos_y = membres.pos_y WHERE membres.id=:id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
$membreSession = $pdostat->fetch();
if (!empty($membreSession )) {
$msg_nom_ville = $membreSession['msg_nom_ville'];
$pos_x = $membreSession['pos_x'];
$pos_y = $membreSession['pos_y'];
}
$pdostat = $bdd->prepare('INSERT INTO map_ville (nom_ville, pos_x_map, pos_y_map) VALUES (:msg_nom_ville, :pos_x, :pos_y)');
$pdostat->bindvalue(':msg_nom_ville', $membreSession['msg_nom_ville'], PDO::PARAM_STR);
$pdostat->bindvalue(':pos_x', $membreSession['pos_x'], PDO::PARAM_STR);
$pdostat->bindvalue(':pos_y', $membreSession['pos_y'], PDO::PARAM_STR);
$pdostat->execute();
[/PHP]
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1052 Champ: 'pos_x' dans field list est ambigu in C:\wamp
pos_x et pos_y sont dans la table map ET la table membres, comment éviter cette erreur?