[ PHP / MySQL ] requête de base ; résultat bizarre ...

requête de base ; résultat bizarre ... [ PHP / MySQL ] - PHP - Programmation

Marsh Posté le 17-10-2003 à 09:58:35    

je sais que c'est une question à la con mais là ça me bloque ;  même un message de soutien sera le bienvenu :o
 
je fais une requête toute bête dans une base MySQL :
 
SELECT * FROM joueurs WHERE id=".$id.";
 
ou  
 
SELECT * FROM joueurs WHERE id=1; (par ex.)
 
et je n'ai pas de résultat pour tous les 'id' :heink:
 
c'est bizarre tout de même ... je ne comprend pas.
Et pas d'erreur :??:  
 
Une idée ?


Message édité par muzah le 17-10-2003 à 10:18:30
Reply

Marsh Posté le 17-10-2003 à 09:58:35   

Reply

Marsh Posté le 17-10-2003 à 10:27:42    

j'ai lancé la même requête directement avec phpmyadmin et ça marche impec' :cry:
 

Reply

Marsh Posté le 17-10-2003 à 10:49:06    

ben c ton script php qui est mauvais alors :D

Reply

Marsh Posté le 17-10-2003 à 10:51:23    

ben tiens :D
 
pourquoi ça fonctionne une fois sur 5 alors ? Certains chiffres, ça fonctionne tout le temps, d'autres jamais !
 
Marre de cette roulette russe :D

Reply

Marsh Posté le 17-10-2003 à 10:55:47    

muzah a écrit :

[g]Une idée ?


 
 
SELECT * FROM joueurs WHERE id='".$id."'";
 
ou  
 
SELECT * FROM joueurs WHERE id='1';  
 
 [:sinclaire]


Message édité par Mr yvele le 17-10-2003 à 10:56:35

---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 11:05:34    

moué, pourquoi pas ... je vais voir ça :jap:

Reply

Marsh Posté le 17-10-2003 à 11:06:42    

muzah a écrit :

ben tiens :D
 
pourquoi ça fonctionne une fois sur 5 alors ? Certains chiffres, ça fonctionne tout le temps, d'autres jamais !
 
Marre de cette roulette russe :D

ben passe nous le code qui est en relation avec la requete.
 
sinon essaye ca:
 

Code :
  1. SELECT * FROM joueurs WHERE id="$id";


Reply

Marsh Posté le 17-10-2003 à 11:21:24    

ça ne fonctionne pas :(
 
je suis un peu désarmé ...

Reply

Marsh Posté le 17-10-2003 à 11:22:01    

<?php
$id = $_GET['id'];
echo $id;
$requete = "SELECT * FROM joueurs WHERE id='".$id."'";
$resultat = mysql_query($requete,$connexion) or die ("Erreur : ".mysql_error() );
$colonne = mysql_fetch_row($resultat);
 
echo "<table style=\"border:3px solid #D9E1EA;\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr style=\"font-weight:bold;\"><td class=\"joueurs2\">prénom</td><td class=\"joueurs2\">nom</td><td class=\"joueurs2\">âge</td><td class=\"joueurs2\">taille</td><td class=\"joueurs2\">maillot</td><td class=\"joueurs2\">poste</td><td class=\"joueurs2\">nationalité</td><td class=\"joueurs2\">formation</td></tr>";
while($ligne = mysql_fetch_object($resultat))
  {
 echo "<tr><td class=\"joueurs2\">".ucfirst($ligne->prenom)."</td><td class=\"joueurs2\">".ucfirst($ligne->nom)."</td><td class=\"joueurs2\">".$ligne->age."</td><td class=\"joueurs2\">".$ligne->taille."</td><td class=\"joueurs2\">".$ligne->maillot."</td><td class=\"joueurs2\">".$ligne->poste."</td><td class=\"joueurs2\">".$ligne->nationalite."</td><td class=\"joueurs2\">".$formation."</td></tr>";
 }
echo "</table>";
 
mysql_close($connexion);
?>


Message édité par muzah le 17-10-2003 à 11:22:52
Reply

Marsh Posté le 17-10-2003 à 11:22:33    

le echo $id; fonctionne ... il donne le bon ID.

Reply

Marsh Posté le 17-10-2003 à 11:22:33   

Reply

Marsh Posté le 17-10-2003 à 11:31:18    

tu te connectes à ta bdd au moins? :D  
 
tu utilises $connexion mais il est meme pas initialisé


---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 11:36:15    

si.
 
cette page est inclue dans un index.php et la connexion est initialisé dans l'index.php. ça fonctionne pour d'autres tableaux ;)

Reply

Marsh Posté le 17-10-2003 à 11:38:06    

dans le doute j'ai inclu le script de connexion directment dans la page et ça ne fonctionne pas mieux :jap:

Reply

Marsh Posté le 17-10-2003 à 11:45:02    

je c pas comment t'aider mais je te fais part de tout mon soutien

Reply

Marsh Posté le 17-10-2003 à 11:47:48    

c gentil :jap:

Reply

Marsh Posté le 17-10-2003 à 11:49:36    

id est numérique?


$requete = "SELECT * FROM joueurs WHERE id=$id";
echo $requete;  

Reply

Marsh Posté le 17-10-2003 à 11:49:47    

essaye ça déjà :
 

Code :
  1. <?php
  2. $id = 6; //Met ton id à la main pour commencer  
  3. //$id = $_GET['id']; //si ça marche essaye avec GET :)
  4. $MySQLUser  = 'root'; //ton login
  5. $MySQLPassword = '';  //ton password
  6. $MySQLBase  = 'base'; //ta base
  7. mysql_connect('localhost',$MySQLUser,$MySQLPassword);
  8. mysql_select_db($MySQLBase);
  9. $result = mysql_query("SELECT * FROM joueurs WHERE id='$id'" );
  10. while($val = mysql_fetch_array($result))
  11. {
  12.  print_r($val);
  13. }
  14. ?>


---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 11:56:01    

résultat :
 
Array ( [0] => 6 [id] => 6 [1] => jardon [nom] => jardon [2] => maxime [prenom] => maxime [3] => 23 [age] => 23 [4] => 10 [maillot] => 10 [5] => 1.92 [taille] => 1.92 [6] => français [nationalite] => français [7] => récept/att [poste] => récept/att [8] => 0 [formation] => 0 [9] => [parcours] => [10] => [palmares] => )

Reply

Marsh Posté le 17-10-2003 à 11:59:52    

bon ... faut que je vois quelques chose là :/
 

Reply

Marsh Posté le 17-10-2003 à 12:00:42    

ben ça marche [:dawa] (edit: ça marche pas??)
 
maintenant adapte! ;)


Message édité par Mr yvele le 17-10-2003 à 12:00:58

---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 12:05:33    

si je remplace  
 
print_r($val);  
 
par
 
echo $val->nom;
 
ça n'affiche rien du tout :/

Reply

Marsh Posté le 17-10-2003 à 12:08:16    

j'ai adpaté ton script ; remplacé  
 
$id = 6;
 
par  
 
$id = $_GET['id'];
 
et ça fonctionne.
 
J'ai viré ton script de connexion et ça fonctionne aussi ;)
 
et quand je met echo $val->nom; crack ! ça déconne :/

Reply

Marsh Posté le 17-10-2003 à 12:10:00    

essaye echo($val['nom']); [:dawa]


Message édité par Mr yvele le 17-10-2003 à 12:10:12

---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 12:12:32    

effectivement, ça fonctionne. :jap:
 
pourtant 'echo $val->nom;' devrait fonctionner, non ?
 
j'utilise ce type d'accès aux tables depuis pas mal de temps (c comme ça qu'on me l'a appris aussi ;)) et c'est la première fois que ça déconne ... enfin il toujours temps de changer :D

Reply

Marsh Posté le 17-10-2003 à 12:20:37    

en tous cas, merci pour ton coup de main diligent :jap:

Reply

Marsh Posté le 17-10-2003 à 12:25:17    

heu -> c'est pour acceder à un objet propriété ou methode..
et vu que la c'est un tableau..
 
enfin bref j'utilise jamais -> pour acceder a un tableau [:sinclaire]  
 

muzah a écrit :

en tous cas, merci pour ton coup de main diligent :jap:


 
mais de rien :)


---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 12:30:28    

En fait, dans le code de Mr Yvele on fait une fetch array et donc on accède à un tableau alors que dans le code de base de muzah, c'est un fetch object qui renvoie donc un objet.

Reply

Marsh Posté le 17-10-2003 à 12:35:20    

par exemple j'accède à ce même tableau sur une page similaire avec la méthode '->' et ça fonctionne :
 
...
echo "<tr><td class=\"joueurs1\"><a class=\"texte\" href=\"index.php?lang=fr&section=professionnel&sujet=identite&id=".$ligne->id."\" title=\"renseignements\">".ucfirst($ligne->prenom)."</a></td><td class=\"joueurs1\">".ucfirst($ligne->nom)."</td><td class=\"joueurs1\">".$ligne->age."</td><td class=\"joueurs1\">".$ligne->taille."</td><td class=\"joueurs1\">".$ligne->maillot."</td><td class=\"joueurs1\">".$ligne->poste."</td><td class=\"joueurs1\">".$ligne->nationalite."</td><td class=\"joueurs1\">".$formation."</td></tr>";
...
va comprendre :D


Message édité par muzah le 17-10-2003 à 12:36:49
Reply

Marsh Posté le 17-10-2003 à 12:38:12    

Belgique a écrit :

En fait, dans le code de Mr Yvele on fait une fetch array et donc on accède à un tableau alors que dans le code de base de muzah, c'est un fetch object qui renvoie donc un objet.

voilà une analyse intelligente :jap:
 
on m'a dit que le fetch object est mieux alors quid ?

Reply

Marsh Posté le 17-10-2003 à 12:42:00    

Belgique a écrit :

En fait, dans le code de Mr Yvele on fait une fetch array et donc on accède à un tableau alors que dans le code de base de muzah, c'est un fetch object qui renvoie donc un objet.


ah ben oui
 

muzah a écrit :

on m'a dit que le fetch object est mieux alors quid ?


 
ah ouè?! :heink:


---------------
yvele n'est plus.
Reply

Marsh Posté le 17-10-2003 à 12:48:04    

c'est mon prof de l'année dernière qui a toute ma considération :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed