Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: warmup le le 02-09-2007 a 19:07:43

Titre: probleme pour enregistrer dans la base de donnée
Posté par: warmup le le 02-09-2007 a 19:07:43

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.


Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: killian le le 02-09-2007 a 21:44:18

Salut, ce serait pas un bête problème de guillemets (apostrophes) ?

Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: warmup le le 03-09-2007 a 12:32:53

merci pour ton aide killiane

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!

Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: killian le le 03-09-2007 a 21:54:49

Tes requêtes sont ok, il faut juste être sûr que chaque membre ait un champ points, mais à priori tout devrait marcher =)

Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: Briac Pollier le le 03-09-2007 a 23:25:43

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.

Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: Briac Pollier le le 03-09-2007 a 23:30:10

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 :-[

Titre: Re:probleme pour enregistrer dans la base de donnée
Posté par: killian le le 03-09-2007 a 23:32:37

Ca marche finalement ?

En fait, if ($truc == true), tu peux le raccourcir en écrivant if ($truc) ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.