sql chez free ne trouve pas une table qui est existante

sql chez free ne trouve pas une table qui est existante - SQL/NoSQL - Programmation

Marsh Posté le 31-01-2007 à 10:51:14    

Bonjour,  
j'ai developpé un site en php / sql et en local il fonctionne nikel ! Je gere des 3 4 tables. Le site étant terminé, je l'ai transféré vers mon ftp free. Ensuite je suis allé dans l'admin de free sql et j'ai importer ma base (que j'avais exporter de ma bdd local avec toutes les infos et données).
 
et je retrouve une erreur de type
 
L\'exécution de la requête a échoué.
Table 'BLABLA.LIEU' doesn't exist
 
blabla étant le nom de ma base et lieu une table.
j'ai vérifié et ma table existe bien dans cette base...
 
je ne comprends pas pourquoi cette erreur  
 
merci d'avance

Reply

Marsh Posté le 31-01-2007 à 10:51:14   

Reply

Marsh Posté le 31-01-2007 à 11:10:26    

Il y a vraiment très peu de chances pour qu'une erreur de ce genre là ne vienne pas de toi.
 
Re vérifie tout, et surtout vérifi bien la base de donnée côté free. Et vérifie aussi que les différences de config entre ton local et free n'affectent pas le bon fonctionnement de tes script.
 
Et sans plus d'informations on ne pourra pas t'en dire plus.

Reply

Marsh Posté le 31-01-2007 à 11:13:35    

il n'y pas un énorme script qui tourne derriere ma base juste 4 5 requetes basics.
 
pour ma connexion c'est bien ('sql.free.fr','login_base_free', 'mdp')
 
je ne vois pas trop d'ôù peut venir l'erreur.
 
Chez free j'ai bien :
 
login_base_free  
             _ table LIEU
             _ table PHOTO
             ....

Reply

Marsh Posté le 31-01-2007 à 11:14:06    

et chez free le login est le nom de la base

Reply

Marsh Posté le 31-01-2007 à 11:16:39    

Essais des requêtes simples sur phpmyadmin (chez free), notamment sur les tables non trouvées dans ton script. Si ces requêtes fonctionnent, alors le problème doit venir de tes script.


Message édité par dwogsi le 31-01-2007 à 11:17:07
Reply

Marsh Posté le 31-01-2007 à 11:39:13    

je n'ai aucune contrainte.
 
j'ai insérer 4 tables avec différents données à l'intérieur
 
Pour la connexion c'est bien comme ça ?
 

Code :
  1. <?php
  2. //ici les parametres pour la connexion au serveur de base de donnée
  3. $connect = mysql_connect('sql.free.fr','login_nombdd', 'mdp');
  4.   if (!$connect){
  5.  
  6.      echo "Echec de la connection.<br>";
  7.    echo mysql_error();
  8.    }
  9.   else
  10.  
  11.   {
  12.     //sinon on sélectionne la base 'composants' grâce à la fonction mysql_select_db
  13.     //le premier paramètre est le nom de la base à sélectionner
  14.     //le deuxième paramètre est la valeur retournée par la fonction mysql_connect
  15.     mysql_select_db('login_nombdd',$connect);
  16. }
  17. ?>


 
par contre j'ai un doute sur mes requetes si je dois ajouter $connexion au bout de la ligne ou non. Sur Easyphp je faisais comme ça :
 

Code :
  1. $req = mysql_query("SELECT LIEU.*, TYPE.nom_type
  2.                     FROM LIEU, TYPE, NATURE
  3.                     WHERE LIEU.num_nature = NATURE.num_nature
  4.                     AND LIEU.num_type = TYPE.num_type
  5.                     AND NATURE.nom_nature = 'location'
  6.     ORDER BY LIEU.prix_lieu
  7.     ;"
  8.       );
  9.    if (!$req)
  10.       {
  11.          echo "L\'exécution de la requête a échoué.<br>";
  12.          echo mysql_error()."<br>";
  13.       }
  14.        else
  15.      {
  16.   // voir s'il y a des résultats dans la requêtes
  17.   if (mysql_num_rows($req) == 0)
  18.       {
  19.               echo '...


 
désolé pour le placard de code

Reply

Marsh Posté le 31-01-2007 à 11:51:04    

Déjà lire systèmatiquement la doc php :
http://fr2.php.net/manual/fr/function.mysql-query.php

Citation :

La chaîne de requête ne doit pas se terminer par un point-virgule.


 
Bon ensuite ta requête ne ma pas l'air fausse, vérifie la dans phpMyAdmin!
 
ET pour le $connexion, il est optionnel sauf si tu utilise plusieurs connexions.

Reply

Marsh Posté le 31-01-2007 à 11:56:23    

trop bizar...dans ma base si je fais  
 

Code :
  1. select * from lieu


 
j'ai des résultats
 
mais si je mets LIEU en majuscule j'en ai aucun...
 

Code :
  1. select * from LIEU


 
depuis quand il faut faire attention à cela ??

Reply

Marsh Posté le 31-01-2007 à 12:03:25    

et maintenant mon site fonctionne...dingue non ?

Reply

Marsh Posté le 31-01-2007 à 12:07:00    

tu met tes noms de tables en majuscules dans tes requêtes et en minuscules dans ta bdd?!
Alors faut pas s'étonner que ça ne fonctionne pas à tout les coups. J'ai pourtant bien essayé de te dire de faire attention aux éventuelles différences de config des environnements.
Non pas dingue, logique.


Message édité par dwogsi le 31-01-2007 à 12:07:49
Reply

Marsh Posté le 31-01-2007 à 12:07:00   

Reply

Marsh Posté le 31-01-2007 à 12:08:50    

ok je pensais que ça n'avait aucune importance...
dans mes requêtes je mets de maj pour dire de voir plus clair dans les noms mais je ne pensais pas qu'il fallait faire de même dans la base !  
je viens d'apprendre un nouveau truc tiens :p !!
 
merci bien pour l'aide !
 

Reply

Marsh Posté le 31-01-2007 à 12:10:00    

Ba on peut configurer MySQL sensible à la casse ou non. Donc à prévoir dans tes script.

Reply

Marsh Posté le 31-01-2007 à 12:11:02    

yep yep aucune erreur à déclarer donc tant mieux ;)

Reply

Sujets relatifs:

Leave a Replay

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