Bonjour, Afin de fideliser les membres de mon site j'ai imaginer une loterie en ligne l'orsqu'ils forment un numero allopass il sont rediriger sur une page sur laquel il voient le nombre de points qu'ils ont gagnés, le probleme est que je voudrais que ces points soit valider dans la base de donnée sans qu'il est besoin de cliquer. Voici le bout de code que l'on ma donné <? $i= 100; $total=$points+$i; if ($total = true)
{ mysql_query ("INSERT INTO membre SET `points`= $total WHERE `id`='$id")or die(mysql_error()); }
?> J'obtient ce message d'erreur " You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id`='1' at line 1 " Peut etre quelqun peut il m'aider merci.
J'azi trouver la formule exacte <? $prise= $i; if ($prise > 0) { $sql=mysql_query("SELECT points FROM pdf_membre WHERE id=$id") or die(mysql_error()); $arr=mysql_fetch_array($sql); extract($arr); $tot=$points + $prise; $sq=mysql_query("UPDATE membre SET points=$tot WHERE id=$id") or die(mysql_error()); } ?> Et sa fonctionne nikel!
Bon ma réponse n'est pas très utile vu que tu as trouvé la solution, mais j'ai trouvé ton erreur, ça peut toujours t'être utile. C'est pas "if ($total = true)" mais "if ($total == true)" Un seul signe égal en php (et d'autres langages d'ailleurs) sert à déclarer une variable.
Ah oui et ça c'est pas bon non plus : '$id", problème de guillemets. Ma réponse précédente concernait une erreur en PHP mais ne pouvait pas être la source du message d'erreur MySQL