IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec base de données [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Par défaut Problème avec base de données
    Bonjour a tous
    Je suis passé sur ce forum il y a quelques mois pour un problème lié à des tableaux. Aujourd'hui, c'est au sujet des bases de données. J'apprends PHP avec le livre "Maitrisez PHP 4" (Wrox editions), je suis au chapitre des BD et voici le code de l'exercice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    $lien = mysql_connect("localhost", "user", "pass");
    $resultat = mysql_list_dbs($lien);
    $nom_ligne = mysql_num_rows($resultat);
     
    while($donnees_bd = mysql_fetch_row($resultat))
            {
             echo $donnees_bd[0] . "<br>";
             $resultat2 = mysql_list_tables($donnees_bd[0]);
             $nom_ligne2 = mysql_num_rows($resultat2);
             while($donnees_table = mysql_fetch_row($resultat2)) echo "--" . 
             $donnees_table[0] . "<br>";
             echo "==> $nom_igne2 table(s) dans " . $donnees_bd[0] . "<p>";
             }
    ?>
    Ce code a pour but de répertorier les bases de données et les tables accessibles à l'utilisateur "user".
    Cependant, quand j'execute ce script rien ne se passe..
    Je ne penses pas que ce soit une erreur de syntaxe au niveau du script, et j'ai essayé de regarder par rapport a mon php.ini, mais je ne trouve pas de solution..Avec les commandes DOS, je parviens a me connecter à la base mais pas avec ce script..
    Quelqu'un pourrait-il m'aider SVP?
    Petite précision (si utile), je tourne sous un serveur web Apache,avec Php5..
    merci d'avance

  2. #2
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    Bonjour,

    question tres bete, as tu mis le bon username et le bon password pour la connexion a ta base?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Par défaut
    Oui, la dessus, aucun problème

  4. #4
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Simple supposition (car je n'ai pas l'habitude d'utiliser num_rows()) mais... est ce que le fait d'utiliser le num_rows n'envoie pas le curseur à la fin de ton tableau d'enregisterement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom_ligne = mysql_num_rows($resultat);
    genre une fois que t'as executée cette ligne, est-ce que t'es pas deja positionné juste apres le dernier enregistrement de $resultat (donc fetch_array() renverrai NULL) ?

    Bref, essaye de mettre cette ligne en commentaire voir ce qui se passe...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Par défaut
    J'ai essayé avec "...or die("error_message");"..ca ne marche pas..
    J'ai également changé mon code en utilisant mysqli_connect (et autres fonctions mysqli..) à la place de mysql_connect..mais rien..
    J'ai installé mon serveur et le reste à l'aide du tuto de giminik, c'est donc pour ça que j'ai essayé mysqli...

    gloubi, je vais essayé ce soir ce que tu me dis...
    Merci

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Par défaut
    salut, ce code fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $link = mysql_connect('localhost', 'root', '') or die(mysql_error());
    $db_list = mysql_list_dbs($link);
    while ($row = mysql_fetch_row($db_list)) 
    {    
    	echo "<li>BDD : ".$row[0]."</li><ul>";
    	$result = mysql_list_tables($row[0]) or die(mysql_error()); 
    	for ($i=0;$i<mysql_num_rows($result); $i++) 
    	{
    		echo "<li>Table : ".mysql_tablename($result, $i)."</li>";
    	}
    	echo "</ul>";    
    }
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec base de données oracle
    Par jonnyboy dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 16/02/2010, 12h10
  2. problème avec base de données attachée
    Par mo5andes dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/11/2009, 15h26
  3. Réponses: 1
    Dernier message: 19/02/2008, 23h05
  4. Plusieurs problèmes avec base de données
    Par mithrendil dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 17/01/2008, 16h23
  5. svp problème avec base de données
    Par midosone dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/03/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo