Simple correction rapide

- - Dernière réponse : jordane45
Messages postés
23628
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2018
- 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 !
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Sans connaitre le soucis, impossible de corriger.
Commenter la réponse de NHenry
Messages postés
23628
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2018
0
Merci
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                                                                 
jordane45
Messages postés
23628
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2018
-
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();
}
?>
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.