Simple correction rapide

- - Dernière réponse : jordane45
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
- 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
14385
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 février 2019
153
0
Merci
Sans connaitre le soucis, impossible de corriger.
Commenter la réponse de NHenry
Messages postés
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
362
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
24579
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 février 2019
362 -
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.