Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 16/05/2006, 14h24   #1
Membre à l'essai
 
Avatar de darkphenx
 
Inscription : mai 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 82
Points : 24
Points : 24
Par défaut [SGBD] mysql_fetch_array

je developpe une app web, qui fonctionne tres bien ... en local via Easyphp

Mais une fois ligne, hebergé sous un environnment WINDOWS avec une connection db PHPMyAdmin PHP/MySql, la connection à la base se passe sans pbs, l'execution de la requete aussi ... mais pas le resultat qui est retourné ... voici l'erreur
Code :
Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN /usr/www/vhost/users/www.cre-net.com/www/Frames/verifie_connection.php ON line 12
J'ai essayé les principales fonctions
Code :
mysql_fetch_array().........mysql_fetch_row()
Mais rien ne change

Merci d'avance
darkphenx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h30   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
.... ca... ca arrive parce que... tu n'a pas respecté une regle d'or du developpement php/mysql...

chaque fonction :
mysql_connect
mysql_select_db
mysql_query
et plus globalement toute fonction mysql_* qui peut renvoyer FALSE

doit etre suivie de : or die(mysql_error());

ou quelque chose d'equivalent (qui affiche le retour de mysql_error() !)
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h33   #3
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
tu dois avoir une ligne du style
Code :
$result = mysql_query($sql);
remplace la en
Code :
$result = mysql_query($sql) OR die(mysql_error());
et regarde le resultat...
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h37   #4
Membre à l'essai
 
Avatar de darkphenx
 
Inscription : mai 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 82
Points : 24
Points : 24
Ben ...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
		//Requete
		$sqlquery = "SELECT * FROM Produit where IdCatégorie=1 ORDER BY ReferenceFournisseur" or die ("erreur sql");
		
		//Execution de la requete 
		$req = mysql_query($sqlquery) or die ("erreur d'exec sql");
		
		

		
//affichage des données
			echo"<DIV alig=center>";
			echo"<FONT color='#FFFF66' face='Arial'>";
			echo"<Table align='center'>";
			echo"<TR>";
			echo"<TD bgcolor='#0099CC' colspan='6'>";
			echo"<DIV align='center'><FONT color='#FFFF69'>ARBRES (Papéterie)</FONT></DIV>";
			echo"</TD>";
			echo"</TR>";			
			echo"<TR>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"Réferences";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"<A HREF='Arbres_Papeterie_des.php' target='_self'>Désignation</A>";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"F. Technique";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"Photo";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"Commande";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor='#009999'>";
			echo"<FONT color='#FFFFFF'>";
			echo"Infos";
			echo"</FONT>";
			echo"</TD>";
			echo"</FONT>";
			echo"</TR>";
		while($result = mysql_fetch_object($req) or die("erreur de retour"))
		{
			for ($i=0; $i<5; $i++)
			{
			$couleur = couleur($color1,$color2);}
			echo"<TR>";
			echo"<TD bgcolor=".$couleur.">";
			echo"<FONT color='#FFFFFF' size='-2'>";
			echo $result['ReferenceFournisseur'];
			echo "<br>";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor=".$couleur.">";
			echo"<FONT color='#FFFFFF'size='-1'>";
			echo $result['Descriptif'];
			echo "<br>";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor=".$couleur.">";
			echo"<FONT color='#FFFFFF' size='-1'>";
			echo"<a href=".$result['CheminPDFFicheTechiniqueFR']."><CENTER><IMG src='Images/ico_pdf.gif' Border=0></CENTER></a>";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor=".$couleur.">";
			echo"<FONT color='#FFFFFF' size='-1'>";
			echo"<a href=".$result['CheminImage']."><CENTER>Photo</CENTER></a>";
			echo"</FONT>";
			echo"</TD>";
			echo"<TD bgcolor=".$couleur.">";
			echo"<FONT color='#FFFFFF' size='-1'>";
			echo"<a href=".$result['CheminPDFCommande']."><CENTER><IMG src='Images/ico_pdf.gif' Border=0></CENTER></a>";
			echo"</FONT>";
			echo"</TD>";
darkphenx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h41   #5
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
et c'est quoi le or die à la fin, là?

Code :
1
2
 
$sqlquery = "SELECT * FROM Produit where IdCatégorie=1 ORDER BY ReferenceFournisseur" OR die ("erreur sql");
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h42   #6
Membre à l'essai
 
Avatar de darkphenx
 
Inscription : mai 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 82
Points : 24
Points : 24
Merci à vous 3... A priori ca fonctionne deuxieme petit souci, je regarde et aprés je clos le post ...

Merci encore.

Ps: Je sors d'etudes, et ces clowns nous ont fait faire un seul TP de php, alors pensez vous que les regles en elles meme, ils ont bien omis de nous les transmettres.
darkphenx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h45   #7
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
et après ?
j'ai vu aucun mysq_fetch_array dans ton code... tout au plus un fetch_object foireux (pas besoin de or die sur lui...) qui est ensuite utilisé comme un tableau...

fait un code qui risquerait de fonctionner puis essaie de trouver des vraies erreurs
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 14h48   #8
Membre à l'essai
 
Avatar de darkphenx
 
Inscription : mai 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 82
Points : 24
Points : 24
Citation:
Envoyé par Swoög
et après ?
j'ai vu aucun mysq_fetch_array dans ton code... tout au plus un fetch_object foireux (pas besoin de or die sur lui...) qui est ensuite utilisé comme un tableau...
j'ai passé en revue toutes les fonctions mysql_fetch_*... ct la derniere mais a la base ct du array
darkphenx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 15h02   #9
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
t'as un peu tendance à mettre des or die de partout toi...

n'en mets que là où c'est nécessaire, pour un connect, select_db, query, mais pas pour les num_rows ou fetch_* etc... et surtout pas pour une assignation de chaîne !

et vérifie les identifiants de conexion au serveur
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 15h08   #10
Membre à l'essai
 
Avatar de darkphenx
 
Inscription : mai 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 82
Points : 24
Points : 24
Oui, Merci la connection serveur est Ok et cela fonctionne, par contre mon boss me file une base access *.mdb que je converti en sql, quel format utilisé utf-... ? (tous les accents é de la db Access deviennent é)

Merci
darkphenx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 17h31   #11
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
normalement, il faudrait utiliser de l'ISO-8859-15 ou ISO-8859-1 (dit aussi latin1) si tu travail dans cet encoding habituellement
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög 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 03h53.


 
 
 
 
Partenaires

Hébergement Web