ZauChoco
Messages postés38Date d'inscriptionmercredi 17 février 2016StatutMembreDernière intervention21 mai 2016
-
21 mai 2016 à 16:57
jordane45
Messages postés38244Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 octobre 2024
-
21 mai 2016 à 20:38
Bonjour,
Je me retrouve avec l'erreur "Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/u464599732/public_html/index.php on line 85" (Ici la 3)
Avec une requête UPDATE.
if($userinfo['clicVisiteUp'] >= $userinfoxp)
{
$query = $bdd->prepare("UPDATE Membre SET $userinfo['level'] = $userinfo['level'] + 1, $userinfo['clicVisitUp'] = 0 WHERE pseudo = :pseudo");
$query->execute(array('pseudo' => $_GET['pseudo']));
}
Puis séparer la requête de son éxécution et ajoute un bloc try/catch
Fais aussi un ECHO de la requête pour voir si c'est conforme à ce que tu attends...
Comme ceci :
//récupération "PROPRE" des variables AVANT de les utiliser
$clicVisiteUp = !empty($userinfo['clicVisiteUp']) ? $userinfo['clicVisiteUp'] : NULL;
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo'] : NULL;
$level = !empty($userinfo['level']) ? $userinfo['level'] : NULL;
if($clicVisiteUp >= $userinfoxp) {
$sql = "UPDATE Membre SET ".$level." = ".$level + 1 .", ".$clicVisiteUp ." = 0 WHERE pseudo = :pseudo" ;
$datas = array(':pseudo' => $pseudo);
//juste au cas où histoire de vérifier :
echo " La requete :".$sql;
try{
$query = $bdd->prepare($sql);
$query->execute($datas);
}catch(Exception $e){
echo "Erreur ! " .$e->getMessage();
}
}
ZauChoco
Messages postés38Date d'inscriptionmercredi 17 février 2016StatutMembreDernière intervention21 mai 2016 21 mai 2016 à 17:12
Cela me donne: La requete :1, 999999 = 0 WHERE pseudo = :pseudo
Et le level et clicVisiteUp ne change pas.
jordane45
Messages postés38244Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 octobre 2024345
>
ZauChoco
Messages postés38Date d'inscriptionmercredi 17 février 2016StatutMembreDernière intervention21 mai 2016 Modifié par jordane45 le 21/05/2016 à 20:38
1, 999999 = 0 ??
Ne te serais tu pas trompé dans ta requête ?
Je trouve étrange que tu passes le nom d'un champ en tant que variable .....
21 mai 2016 à 17:12
Et le level et clicVisiteUp ne change pas.
Modifié par jordane45 le 21/05/2016 à 20:38
Ne te serais tu pas trompé dans ta requête ?
Je trouve étrange que tu passes le nom d'un champ en tant que variable .....