Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 16h56   #1
Candidat au titre de Membre du Club
 
Thibaud Chave
Inscription : septembre 2010
Messages : 39
Détails du profil
Informations personnelles :
Nom : Thibaud Chave

Informations forums :
Inscription : septembre 2010
Messages : 39
Points : 12
Points : 12
Par défaut Requêtes SQL & debug

Bonsoir, surement une grossière erreur de ma part masi la je sèche:

Code :
1
2
3
4
5
6
7
8
9
10
function recup_champ_rapporteur($id)
{
	include("fonct_bdd_annexe.php");
		$connexion = mysql_connect(****************);
     					mysql_select_db("******",$connexion) or die("Erreur de connexion");
     					print ($id);	
     					$res1 = mysql_query("SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = $id") or die (mysql_error());
     					print_r ($res1);
mysql_close();
}
Le me donne

le me donne :
Alors que ma requête rentrée "à chaud" dans PMA me donne deux lignes de résultats (Ce que je veux cela va sans dire).

Voyez-vous mon erreur?
Iceman Y15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 17h12   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Pour exploiter le résultat du mysql_query il faut utiliser myslq_fetch_object/assoc
http://www.php.net/mysql-fetch-object
http://www.php.net/mysql-fetch-assoc
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 17h21   #3
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 112
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 112
Points : 27
Points : 27
Essaye cela sa devrait fonctionner :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function recup_champ_rapporteur($id)
{
	include("fonct_bdd_annexe.php");
		$connexion = mysql_connect(****************);
     					mysql_select_db("******",$connexion) or die("Erreur de connexion");
     					print ($id);	
     					$res1 = mysql_query("SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = $id") or die (mysql_error());
     					 while ($row = mysql_fetch_object($res1)){
		echo $row->idMembre;
    }
mysql_close();
}
rollergirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 09h13   #4
Candidat au titre de Membre du Club
 
Thibaud Chave
Inscription : septembre 2010
Messages : 39
Détails du profil
Informations personnelles :
Nom : Thibaud Chave

Informations forums :
Inscription : septembre 2010
Messages : 39
Points : 12
Points : 12
Bonjour. Merci de vos réponses, mais le problème ne vient pas de la gestion de ma requête derrière:


Je suis approximativement à ma 3000 ème lignes de code dont peut être 50 requêtes SQL de la même forme.
Exemple :

Code :
1
2
3
4
5
6
7
8
9
 
function recup_champ_enreg_rapporteur()
{
	include("fonct_bdd_annexe.php");
		$connexion = mysql_connect("*******");
     					mysql_select_db("*******",$connexion) or die("Erreur de connexion");	
     					$query1 = "SELECT `id_dossier_thèse` FROM `thèse` WHERE `statut_thèse` = 2";		
     					$res = mysql_query($query1);
     					while($row = mysql_fetch_row($res))
Cela fonctionne mais ceci non :
Code :
1
2
3
4
5
6
7
8
 
function recup_champ_rapporteur($id)
{
	include("fonct_bdd_annexe.php");
		$connexion = mysql_connect(****************);
     					mysql_select_db("******",$connexion) or die("Erreur de connexion");
     					print ($id);	
     					$res1 = mysql_query("SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = $id") or die (mysql_error());
Alors que lorsque je rentre :
Code :
SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = 105
Directement dans PMA ceci fonctionne
Iceman Y15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h31   #5
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
C'est normal et je t'ai déjà dit pourquoi.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h40   #6
Candidat au titre de Membre du Club
 
Thibaud Chave
Inscription : septembre 2010
Messages : 39
Détails du profil
Informations personnelles :
Nom : Thibaud Chave

Informations forums :
Inscription : septembre 2010
Messages : 39
Points : 12
Points : 12
Citation:
Envoyé par Séb. Voir le message
Pour exploiter le résultat du mysql_query il faut utiliser myslq_fetch_object/assoc
http://www.php.net/mysql-fetch-object
http://www.php.net/mysql-fetch-assoc
Tu m'a seulement renvoyer vers un man servant à gérer les résultats de requêtes or ma question n'était pas de savoir comment gérer une requête (ce que je faisait très bien jusqu'à présent par mysql_fetch_row() mais bien pourquoi mon résultat était vide. Merci

Citation:
Envoyé par rollergirl Voir le message
Essaye cela sa devrait fonctionner :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function recup_champ_rapporteur($id)
{
	include("fonct_bdd_annexe.php");
		$connexion = mysql_connect(****************);
     					mysql_select_db("******",$connexion) or die("Erreur de connexion");
     					print ($id);	
     					$res1 = mysql_query("SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = $id") or die (mysql_error());
     					 while ($row = mysql_fetch_object($res1)){
		echo $row->idMembre;
    }
mysql_close();
}
Ce code là fonctionne. Je te remercie.

Bien que je me demande toujours pourquoi l'utilisation de mysql_fetch_row() fonctionne sur mes 49 premières fonctions et pas sur celle ci.
Iceman Y15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 11h27   #7
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Citation:
Envoyé par Iceman Y15 Voir le message
Tu m'a seulement renvoyer vers un man servant à gérer les résultats de requêtes
Ce qui est normal quand on me propose la fonction ci-dessous
Code :
1
2
3
4
5
6
7
8
9
10
function recup_champ_rapporteur($id)
{
    include("fonct_bdd_annexe.php");
    $connexion = mysql_connect(****************);
    mysql_select_db("******",$connexion) or die("Erreur de connexion");
    print ($id);	
    $res1 = mysql_query("SELECT `idMembre` FROM `jury` WHERE `jury`.`idThese` = $id") or die (mysql_error());
    print_r ($res1);
    mysql_close();
}
Citation:
or ma question n'était pas de savoir comment gérer une requête (ce que je faisait très bien jusqu'à présent par mysql_fetch_row() mais bien pourquoi mon résultat était vide.
print_r($res1) ne permet pas de savoir si le résultat est vide ou pas, pour cela on a mysql_num_rows( ) et mysql_fetch_*( )

Citation:
Bien que je me demande toujours pourquoi l'utilisation de mysql_fetch_row() fonctionne sur mes 49 premières fonctions et pas sur celle ci.
Pas vu de script avec mysql_fetch_row( ) pour t'aider sur ce point.

A+
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h51.


 
 
 
 
Partenaires

Hébergement Web