Problème de noms de tables



  • J'utilise ce code comme requète
    $sql = 'SELECT * FROM t_news, t_utilisateurs WHERE id_utilisateur = ref_utilisateur ORDER BY date DESC';
    et j'obtiens ceci
    Erreur SQL !
    SELECT * FROM t_news, t_utilisateurs WHERE id_utilisateur = ref_utilisateur ORDER BY date DESC
    Table 'fhv3.t_news' doesn't exist
    donc il recherche 'fhv3.t_news' qui n'est pas dans la requète, comment changer un code où il n'y a pas d'erreur?
    Quelqu'un à une idée? Merci d'avance



  • ca veut tout simplement dire que tu dois créer ta table dans ta base de données.



  • A-tu fais un mysql_select_db() ?
    Et numero de dossier :)



  • Tout dabord merci pour l'intéret et une reponse rapide,
    Dossier : DC09043016552009
    alors oui, j'ai fait un mysql_select_db, ci-dssous la requète complète sans la fin du script.

    $connect = mysql_connect('localhost','luke7366','XXXXXX') or die ("erreur de connexion");
    mysql_select_db('luke7366_mabase1',$connect) or die ("erreur de connexion base");
    $sql = 'SELECT * FROM t_news, t_utilisateurs WHERE id_utilisateur = ref_utilisateur ORDER BY date DESC';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    Les tables existent (tables avec s car ce fhv3. est mentionné sur d'autres requètes sur d'autres tables qui préexistait aussi et qui sont toujours en place) depuis plusieurs mois, j'ai du arreter les test plusieurs mois, mais à l'époque tout fonctionnait nickel, j'ai juste du changé le design CSS, et le nom du site.

    Merci

    Luke7366


  • Administrateur

    Utilise d'autres variables que $sql et $req, c'est ce qu'on utilise de notre coté.
    Le fhv3 indique une mauvaise sélection de base a priori.



  • Bonjour, j'ai fais ce que vous m'avez dis sans succes, j'ai alors créer une nouvelles base nommée test, avec les table t_news1 et t_utilisateurs1, j'ai modifier le script en mettant ces nouveaus nom de tables; jai utilisé $reqe et $sqle pour changer les noms de variables, même topo, j'ai

    Erreur SQL !
    SELECT * FROM t_news1, t_utilisateurs1 WHERE id_utilisateur = ref_utilisateur ORDER BY date DESC
    Table 'fhv3.t_news1' doesn't exist

    Donc on voit bien que je fais appel a t_news1 et t_utilisateurs1 pour finir avec ce Table 'fhv3.t_news1' pour moi c'est incompréhensible, il fut un temps ou tous cela fonctionnait, j'avais juste des problèmes avec la fonction include ou les fichiers inclus n'apparaissaient pas

    je sèche, je ne vois pas ce que je dois changer, en local je n'ai aucun problèmes

    Merci

    Luke7366



  • Le probleme vient du fait que ton code selectionne mal la base de donnees.
    Pourrais-tu poster les 10/15 lignes qui entourent le mysql_connect et le mysql_select_db ?



  • (utilise les balises```
    du forum autour de ton code pour que ça soit plus lisible ;) )



  • Voici donc le script php incriminé dans son entièreté, j'ai ajouté la connexion à la db dans ce script car normalement il est en include (J'ai déjà essayer tel quel mais cela ne change rien au problème, je dois dire que ce script fonctionnait trés bien en juin 2009 sur freeheberg, c'est seulement maintenant que je retravaille dessus qu'aparaissent ces problèmes)

    <?php
    $connect = mysql_connect('localhost','luke7366','XXXXX') or die ("erreur de connexion");
    mysql_select_db('luke7366_test',$connect) or die ("erreur de connexion base");
    $sqle = 'SELECT * FROM t_news1, t_utilisateurs1 WHERE id_utilisateur = ref_utilisateur ORDER BY date DESC';  
    
    					// on lance la requète (mysql_query) et on impose un message d'erreur si la requète ne se passe pas bien (or die)  
    					$reqe = mysql_query($sqle) or die('Erreur SQL !<br />'.$sqle.'<br />'.mysql_error());  
    
    					// on compte le nombre de news stockées dans la base de données  
    					$nb_news = mysql_num_rows($reqe);  
    
    					if ($nb_news == 0) 
    					{ 
    						echo 'Aucune news enregistr&eacute;e.';  
    					}  
    					else 
    					{ 
    						// si on a au moins une news, on l'affiche 
    						while ($data = mysql_fetch_array($reqe)) 
    					{ 
    
    						// on décompose la date 
    						sscanf($data['date'], "%4s-%2s-%2s", $an, $mois, $jour); 
    
    						// on affiche les résultats 
    							echo '<br />News de : ' , htmlentities(trim($data['pseudo'])) , '<br />'; 
    							echo 'Titre : ' , htmlentities(trim($data['titre'])) , '<br />'; 
    							echo 'Post&eacute;e le : ' . $jour . '/' . $mois . '/' . $an . '<br /><br />'; 
    							echo 'News : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<br />'; 
    						}  
    					}  
    						// on libère l'espace mémoire alloué à cette requète  
    						mysql_free_result ($reqe);  
    
    						// on ferme la connexion à la base de données  
    						mysql_close (); 
    
                ?>
    
    </div>
    </div>
             	<?php 
    				if(isset($_SESSION['id']))
    				{ 
    			?> 
      <div id="txtnews2"> <h4>Pour &eacute;crire une news, cliquer <a href="ecriture_news.php">ICI</a> :</h4>  </div>
           	<?php 	
    				} 
    			?>
    
    


  • J'ai remarqué que la pub freeheberg n'aparassait plus quand je lance mes pages qui posent problème avec les tables, et si vous remarquez il y est mentionné "http://78.41.233.99/~fhv3/pub/iframepubns10.html" dans lequel fhv3 apparait, est-ce que cela aurait une incidence??

    J'ai aussi créer un dossier test dans lequel j'ai une version de l'index.php plus simple mais avec les même requètes SQL utilisant les variables $req et $sql sans que cela ne pose de problème, pour mes news il apparait enfin "Il n'y a pas de news à la place de ERROR SQL table fhv3.t_news n'existe pas, je vais donc essayer de repartir de ce code pour voir si le problème persiste.

    <!-- Tag Publicitaire Freeheberg.com -->
    <script type="text/javascript" src="http://www.veoxa.com/get_trackingcode.php?aid=63&linkid=O31&type=jscript&r=" + document.referrer></script>
    <iframe src="http://78.41.233.99/~fhv3/pub/iframepubns10.html" framespacing="0" frameborder="no" scrolling="no" width="0" height="0"></iframe>
    </body>
    </html>
    <!-- Pour une validation w3c, ne rajoutez pas les balises body et html a votre p
    age. -->
    <!-- FIN TAG PUBLICITAIRE -->
    

    Merci
    Luke7366



  • J'ai oublié de dire que j'avais un problème d'include pour le pied de page

    Warning: include(includes/inc.pied_de_page.php) [function.include]: failed to open stream: No such file or directory in /home/luke7366/www/test/index.php on line 192
    
    Warning: include() [function.include]: Failed opening 'includes/inc.pied_de_page.php' for inclusion (include_path='.:/usr/share/php5') in /home/luke7366/www/test/index.php on line 192
    
    ```par contre l'include du menu fonctionne à peu près.
    
    J'utilise un captcha pour l'inscription au site, et là j'ai aussi un problème, je dois mettre un dossier mpfs (dans lequel tous le fichiers php avec les classes) ) doit se trouver dans le dossier www.
    
    Sur le site où j'ai récupéré ce captcha explique ceci:
    Ce paramètre doit contenir le chemin complet pour vous le "mpfs" folder. Sur la plupart des serveurs, le $ _SERVER [ 'DOCUMENT_ROOT'] variable va détecter automatiquement le chemin d'accès racine du serveur. Sinon, vous devrez entrer le chemin à la main, par exemple:
    $ MPFSServerPath = '/ var / www / html / mpfs /';
    
    Quel chemin Est-ce que je peux utilisé, j'ai essayer différent chemin sans succès.
    
    Merci d'avance
    Luke7366


  • J'ai fait un copier coller entre mes anciens scripts et celui qui nous occupait, en maintenant plus de problèmes du genre fhv3.t_news n'existe pas, par contre d'autres problèmes, voir le nouveau pos que je vien de faire…Problèmes avec fonction include

    Merci
    Luke7366


Log in to reply