03-11-2007, 07:45 PM
Vous êtes pénibles à demander de l'aide en nous fournissant la moitié des infos utiles ! Faîtes un effort bordel ! Quel est le type d'erreur ? PHP ? SQL ? Quel est le message ? Etc.
En attendant d'en savoir plus, je me permet une critique de cette ligne :
Outre que le fait que cette fonction est pourrie (j'ai expliqué pourquoi dans ta précédente demande d'aide (qui rappelons-le avait un titre inadapté)), tu pourrais au moins l'utiliser de manière homogène.En attendant d'en savoir plus, je me permet une critique de cette ligne :
Code PHP :
<?php
$updatequery = doquery("UPDATE {{table}} SET gold='$newgold', experience='$newexp' WHERE id='".$userrow["id"]."'", "users");
Sois tu concatène, sois tu le fais pas, mais ça ne sert à rien de le faire pour une variable et pas l'autre.
Deuxième chose, on encercle la variable de guillements simples ' quand le champ de la base de donnée est fait pour les chaînes de caractères. Donc si le champ est de type INT (ou SMALLINT, TINYINT, etc.), tu n'encadres pas ta variable.
De même, si tu encadres la chaîne de ta requête avec des guillemets doubles, ne concatène pas. Les guillemets doubles interprètent d'elles même les variables. Pour qu'une variable array soit comprise par les guillemets doubles, tu la protège en l'encadrant d'accolade (en l'enaccoladant, donc).
Exemple de requête cohérente :
Code PHP :
<?php
$updatequery = doquery("UPDATE {{table}} SET gold = $newgold, experience = $newexp WHERE id = {$userrow['id']};", "users");