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 :

recuperer nom table et nom colone


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 226
    Par défaut recuperer nom table et nom colone
    bonjour je cherche comment recuprer en pdo en me conectant a une source odbc le nom des tables disponible et le nom des tables pour pouvoir ensuite effectuer des rechercher pour trouver ou cette conexion stoque un champs pour ma petite aplication car pas de doc de la structure de la db disponible

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    utilise la base de données information_schema, ce n'est pas vraiment une BDD mais plutôt un ensemble de vue qui permettent de connaitre pas mal d'informations sur les BDD dont tu a accès.

    Par exemple pour connaitre les différentes colonnes d'une BDD :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  * -- evite le * car il y'a pas mal de colonne dans cette table, c'est juste pour l'exemple ici
    FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = 'maBDD' AND TABLE_NAME = 'maTable'

    Et pour les différentes tables :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  * -- evite le * car il y'a pas mal de colonne dans cette table, c'est juste pour l'exemple ici
    FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = 'maBDD'

    Tu ne peut bien entendu voir que les tables et colonnes dont tu as les droits.

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Oui ou sinon avec mysql tu as peux aussi faire des requêtes avec "SHOW TABLES", "SHOW CREATE TABLE".

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 226
    Par défaut
    pour le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      $dbh= new PDO('odbc:recherche','', '');
     
     $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
     $sql= "SELECT  * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'frmMenu' ";
     
        $stmt = $dbh->query($sql);
                $datas = $stmt->fetchAll();
                print_r($datas);
    j'ai le message suivant :

    SCREAM: Error suppression ignored for
    ( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[37000]: <<Unknown error>>: 0 [Lotus][ODBC Lotus Notes]Syntax error or access violation (SQLPrepare[0] at ext\pdo_odbc\odbc_driver.c:206)' in C:\wamp\www\Dashboard\views\cherche\pdoRecherche.php on line 11
    ( ! ) PDOException: SQLSTATE[37000]: <<Unknown error>>: 0 [Lotus][ODBC Lotus Notes]Syntax error or access violation (SQLPrepare[0] at ext\pdo_odbc\odbc_driver.c:206) in C:\wamp\www\Dashboard\views\cherche\pdoRecherche.php on line 11

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Je réponds au message que tu m'as envoyé par mp. Avec show tables tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tables = $bdd->query("SHOW TABLES");
    et tu exploite le résultat comme pour n'importe qu'elle autre requête.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Rappel : les demandes par message privé, message visiteur ou e-mail ne sont pas autorisées !
    La plupart des visiteurs du forum trouvant une réponse à leur problème dans des discussions déjà résolues, passer par des messages privé empêche la bonne compréhension de la discussion !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 226
    Par défaut
    pourquoi avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      $dbh= new PDO('odbc:recherche','', '');
     
     $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
       $tables = $dbh->query("SHOW TABLES");
                $datas =  $tables->fetchAll();
                print_r($datas);

    j'ai le message d'erreur

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[37000]: <<Unknown error>>: 0 [Lotus][ODBC Lotus Notes]Invalid SQL statement (SQLPrepare[0] at ext\pdo_odbc\odbc_driver.c:206)' in C:\wamp\www\Dashboard\views\cherche\pdoRecherche.php on line 9
    ( ! ) PDOException: SQLSTATE[37000]: <<Unknown error>>: 0 [Lotus][ODBC Lotus Notes]Invalid SQL statement (SQLPrepare[0] at ext\pdo_odbc\odbc_driver.c:206) in C:\wamp\www\Dashboard\views\cherche\pdoRecherche.php on line 9

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2007, 10h11
  2. [SQL SERVER2K] Passer Nom Table à SP
    Par Sunny dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2006, 10h19
  3. Réponses: 2
    Dernier message: 10/02/2006, 16h09
  4. Réponses: 4
    Dernier message: 19/09/2005, 15h59
  5. [syntaxe]Creation table avec nom dynamique
    Par ZuZu dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/09/2004, 18h01

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