Requete SQL qui n'envoie rien

ZauSucuc - 28 mai 2016 à 22:27
jordane45 Messages postés 37722 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 septembre 2023 - 29 mai 2016 à 00:11
Bonsoir,



J'ai fais un Update en mySql, amis le problème c'est que rien ne se passe !

J'ai fais des testes, et toutes les conditions sont bien respecté pour arrivé a la requête.

Code:

$addavatar = $bdd->prepare('SELECT avatarBuy FROM Membre WHERE pseudo = ?');
       $addavatar->execute(array($_SESSION['pseudo']));
        $addavatarfinal = $addavatar->fetch();
           $addavatarfinal['clicVisiteUp'] = $avatarBuy;
           $prixavatar = $avatarInfo['prix'];
           $addavatarchar = "," . $avatarInfo['ID'];
           $prixavatarsous = $_SESSION['argent'] - $avatarInfo['prix'];
           $query = $bdd->prepare("UPDATE Membre SET avatarBuy = addavatarchar, argent = prixavatarsous WHERE pseudo = :pseudo");
        $query->execute(array('pseudo' => $_SESSION['pseudo']));
        $_SESSION['avatarBuy'] = $_SESSION['avatarBuy'] + $addavatarchar;
        $_SESSION['argent'] = $_SESSION['argent'] - $avatarInfo['prix'];
        $infovote = "Achat réussi avec succès !";


Qu'est ce qui ne va pas ?



Merci :)

1 réponse

jordane45 Messages postés 37722 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 septembre 2023 342
Modifié par jordane45 le 29/05/2016 à 00:11
Bonjour,

Par défaut l'affichage des erreurs pdo n'est pas active...
Il faut modifier ta connexion comme ceci :
<?php
//Fichier de connexion à la bdd : cnxBdd.php
 try{
   $bdd = new PDO("mysql:host=localhost;dbname=tabdd;charset=UTF8", 'user', 'password');
   $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //pour activer l'affichage des erreurs pdo
} catch(PDOException $e){
     echo 'ERROR: ' . $e->getMessage();
} 

>>> en remplaçant les différentes variables pour que ça correspondre à ton besoin.




Ensuite, pour CHACUNE de tes requêtes... utilises un bloc TRY/CATCH
et pense à ajouter au début de tes pages php l'instruction suivante :
error_reporting(E_ALL);

de façon à afficher les éventuels messages d'erreurs php.

Pour finir... pense à tester DIRECTEMENT tes requêtes dans ta BDD.
(via phpmyadmin dans l'onglet sql par exemple)
Pour voir si les requêtes fonctionnent.


PS: Il faut également récupérer "proprement" les variables AVANT de les utiliser.. cela permet en même temps de s'assurer qu'elles existent bien....
Va jeter un oeil ici :
http://www.commentcamarche.net/faq/1391-php-notice-undefined-index


Reviens nous voir avec le code corrigé (en tenant compte de mes précédentes remarques) si ton souci persiste.




Cordialement, 
Jordane                                                                 
0
Rejoignez-nous