Simple correction rapide

ZauSucuc - 16 mai 2016 à 16:04
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 - 17 mai 2016 à 01:10
Bonjour,

Pouvez vous me corriger rapidement ce script ? ;)
$bdd->prepare("UPDATE  Membre  SET  clicVisit = ?, clicVisiteUp= ? WHERE pseudo= ?");
           $req->execute(array($clicAddVisite++, $clicAddVisiteUp++, $_GET['pseudo']));

Je sais qu'il y a une erreur, mais quoi ? :[

Merci !

2 réponses

NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 159
16 mai 2016 à 16:54
Sans connaitre le soucis, impossible de corriger.
0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
Modifié par jordane45 le 16/05/2016 à 23:25
Bonjour,

D'où vient le $req ?


Enfin bon.. voila :

1 - On récupère PROPREMENT les variables AVANT de les utiliser
2 - On utilise un bloc TRY/CATCH pour intercepter les erreurs et les afficher
(on ajoute également au début de la page php l'instruction
 error_reporting(E_ALL);


Comme ceci :
<?php
//affichage des erreurs PHP
error_reporting(E_ALL);



// Récupération PROPRE des variables
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo'] : NULL;

//On prépare la requête
$sql = "UPDATE  Membre  SET  clicVisit = :clicAddVisite, clicVisiteUp= :clicAddVisiteUp WHERE pseudo= :pseudo";
$variables = array(":clicAddVisite"=>$clicAddVisite++
                  ,":clicVisiteUp"=>$clicAddVisiteUp++
                  ,":pseudo"=>$pseudo );

                  //Execution de la requete
try{
  $prepare = $bdd->prepare($sql);
  $resultat = $prepare->execute($variables);
}catch(Exception $e){
  echo "Erreur : ".$e->getMessage();
}
?> 
 

Cordialement, 
Jordane                                                                 
0
jordane45 Messages postés 38244 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 octobre 2024 345
17 mai 2016 à 01:10
NB: Dans PDO, par défaut, les Exceptions ne sont pas activées (pour afficher les erreurs)

Il faut modifier ton code de connexion à la BDD ainsi :
 <?php
//Fichier cnxBdd.php
try{
  $bdd= new PDO('mysql:host=localhost;dbname=utilisateurs'=>'root');
  $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
   echo "<br>Erreur lors de la connexion à la bdd !".$e->getMessage();
}
?>
0
Rejoignez-nous