avec MySQL ... je pige pas la (Résolu...)

avec MySQL ... je pige pas la (Résolu...) - PHP - Programmation

Marsh Posté le 27-06-2002 à 14:44:05    

alors tout d'abord voici le bout de code interessant :

Code :
  1. $req = "select * from Plan where Id='$Id' order by 'Date'";
  2.   mysql_select_db("F08" );
  3.   $result = mysql_query($req);
  4.   $i= 1;
  5. while($row = mysql_fetch_array($result))
  6.  {
  7.   $Tab[Rang][$i]=$row[Rang];
  8.   $Tab[NaturePres][$i]=$row[NaturePres];
  9. //   $Tab[DateLim][$i]=$row[DateLim];
  10.   $Tab[DateLim][$i]=an_fr_date($row[DateLim]);
  11.   $Tab[LogExe][$i]=$row[LogExe];
  12.   $Tab[DateActExe][$i]= an_fr_date($row[DateActExe]);
  13.   $Tab[NatureSur][$i]= $row[NatureSur];
  14.   $Tab[DateCon][$i]= an_fr_date($row[DateCon]);
  15.   $Tab[LogSur][$i]= $row[LogSur];
  16.   $Tab[DateActSur][$i]= an_fr_date($row[LogSur]);
  17.   $i=$i+1;


donc ca recupere mes enregistrements... sous easyphp sous windows, pas de pb, par contre sur mon serveur linux.... ca marche pas :pt1cable:  
 
il me met :
 

Citation :

Supplied argument is not a valid MySQL result resource


 
a l'aideeeeee... la je pige pas , pourtant rien de fou la ligne de l'erreur est juste sur mon while (et surtout sur mon mysql_fetch_array....
merci pour votre aide


Message édité par bart70 le 01-07-2002 à 15:16:14
Reply

Marsh Posté le 27-06-2002 à 14:44:05   

Reply

Marsh Posté le 27-06-2002 à 14:57:38    

Y a eu un problème au niveau de mysql_query, qui a donc renvoyé une erreur.
Fais plutot :

Code :
  1. ...
  2.   $result = mysql_query($req);
  3.   if (! $result) {
  4.     echo "ERREUR";
  5.     exit;
  6.   }
  7.   $i= 1;
  8.   ...


Message édité par mrbebert le 27-06-2002 à 14:58:08
Reply

Marsh Posté le 27-06-2002 à 15:04:51    

vi merci ... mais pkoi ca marche sur easyphp et pas sur mon serveur linux ?? .. ca peut pas venir d'une version de php ?? (tt les 2 utilisent la 4)argh bizarre quand meme ...

Reply

Marsh Posté le 27-06-2002 à 15:06:41    

bart70 a écrit a écrit :

vi merci ... mais pkoi ca marche sur easyphp et pas sur mon serveur linux ?? .. ca peut pas venir d'une version de php ?? (tt les 2 utilisent la 4)argh bizarre quand meme ...



euh ça viendrait pas des fois du fait que t'aies "oublié" d'installer ta bdd sur ce serveur...?

Reply

Marsh Posté le 27-06-2002 à 15:08:00    

bart70 a écrit a écrit :

vi merci ... mais pkoi ca marche sur easyphp et pas sur mon serveur linux ?? .. ca peut pas venir d'une version de php ?? (tt les 2 utilisent la 4)argh bizarre quand meme ...



Déja faudrait savoir a quel niveau se trouve l'erreur (à la connexion, choix de la BD, requête...). C'est pour ca qu'il faut mettre des contrôles sur le résultat des fonctions.

Reply

Marsh Posté le 27-06-2002 à 15:12:09    

bah a la connexion ca passe, j'ai un test...  
au choix dee la bdd aussi ;( ... ca marche pour d'autre requetes ;(  
 
greg --> j'ai vérifié ... bah non, j'ai meme effacé et redumpé ma base pour etre sur, et rien de mieux ... :cry:

Reply

Marsh Posté le 27-06-2002 à 15:15:24    

Essaye comme ça en évitant de mettre Date entre ' :

Code :
  1. "SELECT * FROM Plan WHERE Id='$Id' ORDER BY Date"

.

Reply

Marsh Posté le 27-06-2002 à 15:17:23    

Rien à voir avec ta question mais :

Code :
  1. $Tab['Rang'][$i] = $row['Rang'];

Reply

Marsh Posté le 27-06-2002 à 15:22:57    

dost67 : nop , ca marche pas non plus sans les '' a date ;( j'ai meme viré le order tiens pour etre sur ;( ...
 
c'est a dire.. pour le $Tab[Rang][$i]... ca peut poser des pb ?

Reply

Marsh Posté le 27-06-2002 à 15:26:57    

j'avais meme un mysql_free_result que j'ai viré, il me mettait aussi une erreur alors qu'en local il le prenait ...

Reply

Marsh Posté le 27-06-2002 à 15:26:57   

Reply

Marsh Posté le 27-06-2002 à 16:44:16    

Pour les ' ça pose pas de pb mais regarde dans la doc il disent que c'est conseillé de les mettre.
 
D'ailleurs tu devrais mettre tjrs ça au début de ton code... Tu verras tu seras bcp plus rigoureux :

Code :
  1. error_reporting(E_ALL);

Bien entendu tu l'enlèves une fois le dév de ton app terminé.

Reply

Marsh Posté le 27-06-2002 à 16:45:50    

Laisse le error_reporting(E_ALL); et donne tous les messages d'erreur sans exception.


Message édité par Dost67 le 27-06-2002 à 16:48:30
Reply

Marsh Posté le 27-06-2002 à 16:57:20    

Dost67 a écrit a écrit :

Laisse le error_reporting(E_ALL); et donne tous les messages d'erreur sans exception.




 
ou fait un

Code :
  1. echo mysql_error();

juste après ton mysql_query.

Reply

Marsh Posté le 01-07-2002 à 10:17:58    

merci pour vos conseils les gars, j'ai donc mis le error_reporting(E_ALL) dans mon entete...
pfiou il me donne plein de warning.. comment fait on pour regler ceux la :  

Code :
  1. Warning: Use of undefined constant NumAffaire - assumed 'NumAffaire' in /home/www/F08/include.php on line 472


il me met que ma table n'existe pas ;( ... bizarre, phpmyadmin me la met... bon je supprime tout et vous tiens au courant ;)  
en tout cas merci pour ces commandes (elementaires) de debugages que je ne connaissais pas ..

Reply

Marsh Posté le 01-07-2002 à 10:20:10    

ayé trouvé (grace a vous ;)) ...  
Linux et case sensitive dans les requetes pas windows... pfeu Ct tout con en plus .. par contre, il me met tjrs mes warnings pour ma definition de variable... je laisse ou pas ?

Reply

Sujets relatifs:

Leave a Replay

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