Communication PHP <-> base de donnée

Nouveau WRInaute
Bonjour à tous,

Je ne comprends vraiment pas ... je souhaite à partir de mon application flash communiquer avec ma base de donnée, pour cela j'utilise le php.
Je vais ajouter du code actionscript ici alors j'espère ne pas me tromper de forum, mais je pense que mon pb est dans le php.
L'idée est de faire une requete sql pour récupérer l'id d'un utilisateur.
Dans l'exemple le userename (utilisateur) se nomme "Gourde" et je souhaite récupèrer son id.

J'ai une base de donnée tout simple avec 2 champs
nom de la base : users
nom du champ1:usename
nom du champ2:userid

Voici le code coté actionscript:
Code:
   PhpObject.username="Gourde";
   PhpObject.userid="";
   PhpObject.onLoad=function(success){
	if(success){
		if(this.error != undefined){
			trace("DB error sent by php");
		}
		else{
			New_Username = PhpObject.username;
			New_id = PhpObject.userid;
			trace("DB connection database OK");
		}
	}
	else{
		trace("DB failed php connection");
	}
   }
   PhpObject.sendAndLoad("http://myip/myphp.php",PhpObject,"POST");

Et voici donc le code coté php (myphp.php)
Code:
if(!empty($_POST['username'])){
   $res=mysql_query("SELECT username FROM users WHERE username='".$_POST['username']."'") or die("&error=".mysql_error()."&");	   if(mysql_num_rows($res)==1){
      $row=mysql_fetch_object($res);
      // ENVOIE LA VALEUR DE L'ID DANS FLASH
      echo "&userid=".$row->userid."&";
   }
   else{
      echo "&error=User/pwd invalide&";
  }
} 
else{
  echo "&error=Vous devez fournir le user et le pwd&";
}

Donc si j'explique un peu le code comme je l'ai compris. A partir du code actionscript, on initialise le username recherché à Gourde.
Code:
PhpObject.username="Gourde"
Cette valeur sera transmise par le sendandload à la fin du code actionscript.
Coté php, on exécute la requete sql et on renvoie la valeur de l'id normalement lu à l'actionscript par l'"echo"
Code:
"&userid=".$row->userid."&";
row->userid : étant le nom du champ dans le base donnée
userid : étant le nom de lavaribale coté actionscript
Cette valeur est sauvegardée dans la variable New_id, enfin normalement car là je ne vois rien ...

Pourquoi la requete sql ne me permet pas de lire la valeur de l'id ? Vous trouvez une erreur de raisonnement ? une erreur d'implémentation ?

J'espère avoir été clair, demandez moi svp plus de précisions si nécessaire.

Merci beaucoup beaucoup

Steph (pas simple les débuts .. grrr)
 
WRInaute discret
Ta requête SQL ne renvoie pas le "userid".

Il faut la modifier :

Code:
$res=mysql_query("SELECT username, userid FROM users WHERE username='".$_POST['username']."'") or die("&error=".mysql_error()."&");

Il y a peut-être d'autres bugs mais déjà tu peux tester comme ça.
 
Nouveau WRInaute
reglysse, merci vraiment beaucoup je ne pensais vraiment pas qu'il était nécessaire d'ajouter le userid dans le requete sql, j'avais mal compris.
Grace à toi, mon application fonctionne, il semble que c'était le seul bug ;)
Encore merci

Steph
 
Discussions similaires
Haut