Probleme dans une requete MYSQL - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Probleme dans une requete MYSQL (/showthread.php?tid=2763) Pages :
1
2
|
Probleme dans une requete MYSQL - Elazael - 15-07-2008 Je fais des tests en POO PHP .Mais j'ai un soucis probablement syntaxique que j'arrive pas résoudre. Voici le bout de code : class perso { public $pv; public $force; public $dexterite; public $intelligence; public $sagesse; public $nom; function bdd($type) { echo "Bonjour ".$type."<br><br>"; mysql_connect("localhost","root","")or die('pas connecte'); mysql_select_db("testjeu")or die('pas acces a la base'); $reponse=mysql_query("SELECT pvs,forcep,dexterite FROM perso WHERE nom LIKE '%$type%' "); // mon probleme se situe la je pense '%$type%' $donnees = mysql_fetch_array($reponse); $this->force=$donnees['forcep']; $this->dexterite=$donnees['dexterite']; $this->intelligence=$donnees['intelligence']; $this->sagesse=$donnees['sagesse']; $this->pv=$donnees['pvs']; echo "Force ".$type." : ".$this->force."<br><br>"; echo "dexterite ".$type." : ".$this->dexterite."<br><br>"; echo "PV ".$type." : ".$this->pv."<br><br>"; } public function degatp($force,$armurem,$rand) { $this->degat=($force+$rand)-$armurem; return $this->degat; } } En fait ce code marche quand je fait $perso1=new perso(); $perso1->bdd(nomdejadansmabdd); Mais j'aimerais faire en sorte de pouvoir faire un $nom=$_POST['name']; $perso1->bdd($nom); Et la ça transmet bien ma variable $nom mais ça va pas me chercher les valeurs dans la base de donnée.Ca me retourne aucune erreur j'ai juste genre Force nomdujoueur : et rien du tout.Bien entendu la personne est au prealable inscrite dans ma BDD avec des valeurs pour chaque variable. Il est probable que mon code soit inutile mais je cherche a manipuler les choses . Merci a ceux qui se pencherons sur le probleme . RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 Ok je recommence Code PHP :
Par un formulaire j'inscris un perso dans une base de donnée avec ses caracteristiques. J'aimerais pouvoir passer direct du formulaire a cette page de code la en recuperant le nom du perso via un $_POST['nom'].Et transmettre le contenu du $POST['nom'] dans la fonction bdd de ma classe perso. De la je peux recuperer les données liées a ce perso et m'amuser a tester des choses avec. Pour le moment ma variable $POST['nom'] est bien transmise quand je fais Code PHP :
Mais ca m'affiche par exmple : Code PHP :
RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 Alors avec un or die ça me retourne aucuns problemes . J'avais deja testé en ecrivant direct un nom de perso deja inscrit Code PHP :
C'est quand je veux passer une variable que ça foire. ET j'avoue que je prefererais que ça marche avec une variable pour pouvoir y stocker n'importe quel nom de perso en utilisant un $_POST['nom']. RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 hum.....apparement quand je fais Code PHP :
Mais des que je change par Code PHP :
Donc apparement ma valeur contenu dans $_POST['nom'] est transmise mais pas dans ma requete SQL. Pour ce qui est de Code PHP :
RE: Probleme dans une requete MYSQL - Ter Rowan - 15-07-2008 essaie de remplacer Code PHP :
par Code PHP :
pas sûr du tout que cela marche mais bon, perso, je ne place jamais ou presque les $var dans des "", toujours en dehors (vieux réflexes d'autres langages) avec les % avant et après va savoir comment php tente d'interpréter ton affaire RE: Probleme dans une requete MYSQL - Roworll - 15-07-2008 Joueur (avec un J majuscule) <> joueur (avec un j minuscule) En fonction des paramètres de ta base de données, il est possible qu'il fasse une distinction dessus. Essaye les lignes suivantes pour voir Code PHP :
RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 quand j'ai un J majuscule c'est que j'ai fait un test avec Joueur et quand j'ai un j minuscule mon teste a été fait avec joueur. Mais ça change rien dans ma variable puisque mon $_POST contient exactement la valeur de ma variable.Si j'avais mis TEST ou test ou n'importe quoi ça reverrais forcement l'écriture exacte. Et pour preuve: Code PHP :
Code PHP :
Mais ne change rien a mon bug quand j'utilise $_POST RE: Probleme dans une requete MYSQL - Roworll - 15-07-2008 Bon. Un pas en plus en avant dans le débuggage alors. Essaye ceci histoire de voir ce qu'exécute ton moteur SQL Remplace Code PHP :
Code PHP :
Comme ça, tu verras la requête qui est lancée. RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 ça me dit avec ton truc : Resource id #3 Code PHP :
pour Code PHP :
RE: Probleme dans une requete MYSQL - Elazael - 15-07-2008 Bah ça retourne Resource id #3 ect |