[RESOLU] Undefined array key

Eléphant du PHP | 345 Messages

15 févr. 2025, 14:57

Voici un message erreur qui apparait et dont je ne connais pas la provenance.
$pdostat = $bdd->prepare("SELECT niveau_pollution FROM planetes LEFT JOIN membres ON planetes.pos_x=membres.pos_x AND planetes.pos_y=membres.pos_y WHERE membres.id =:id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
if (!empty($membreSession )) { 
$niveau_pollution= $membreSession['niveau_pollution'];
}
Warning: Undefined array key "niveau_pollution" in /home/u347660359/domains/infiniworld.fr/public_html/extraire_minerai.php on line 82

le var_dump:

Warning: Undefined array key "niveau_pollution" in /home/u347660359/domains/infiniworld.fr/public_html/extraire_minerai.php on line 82
NULL
.
pourtant, j'ai bien en table:
Image

et la requete suivante qui fait une mise à jour fonctionne quand meme...

Mammouth du PHP | 2703 Messages

15 févr. 2025, 20:02

il n'est fait aucun usage du résultat de ce select, d'où le message d'erreur.

Eléphant du PHP | 345 Messages

16 févr. 2025, 12:28

Ca devait être lié à l'ordre, en faisant ainsi tout va mieux :oops:
$pdostat = $bdd->prepare("SELECT niveau_pollution FROM planetes LEFT JOIN membres ON planetes.pos_x=membres.pos_x AND planetes.pos_y=membres.pos_y WHERE membres.id =:id");
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
if (!empty($membreSession )) { 
$niveau_pollution= $membreSession['niveau_pollution'];
}
$pdostat = $bdd->prepare("UPDATE planetes INNER JOIN membres ON planetes.pos_x= membres.pos_x AND planetes.pos_y= membres.pos_y SET  planetes.niveau_pollution=planetes.niveau_pollution+0.10 WHERE membres.id=:id"); 
$pdostat->bindvalue(':id',$idMembreSession ,PDO::PARAM_INT);
$pdostat->execute();
if($niveau_pollution > 30.00)
{
	header('Location:alerte_niveau_pollution_planete.php');
	exit;
}
................................................