Bonjour à tous,
Je cherche en vain une methode PDO qui pourrait permettre de connaitre le nom des champs d'une table, soit l'équivalent de la classique fonction mysql_list_fields(nomBase, nomTable).
Bonjour à tous,
Je cherche en vain une methode PDO qui pourrait permettre de connaitre le nom des champs d'une table, soit l'équivalent de la classique fonction mysql_list_fields(nomBase, nomTable).
Salut
Il faut bien voir que PDO n'est qu'un pilote générique de SGBD. Ce que tu es en train de rechercher est une solution ORM (abstraction de SQL), pas une abstraction de SGBD.
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Désolé, je viens seulement de trouver ton msg.
Une solution :
Attention, il faut que la BD accepte la requête. Cette solution fonctionne sous MySQL, je n'ai pas encore essayé pour les autres.
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
17
18
19
20
21 /** * retourne la liste des champs d'une table sous forme de tableau * @param $pdo connection sur la base de donnees * @param $tableName nom de la table dont on veut la liste des champs * @return array liste des noms de champs de $tableName */ function getFieldsName ($pdo, $tableName) { $recordset = $pdo->query("SHOW COLUMNS FROM $tableName"); $fields = $recordset->fetchAll(PDO::FETCH_ASSOC); foreach ($fields as $field) { $fieldNames[] = $field['Field']; } return $fieldNames; } // pour tester $pdo = new PDO(DSN, LOGIN, PW); $fieldNames = getFieldsName($pdo, 'ma_table'); foreach ($fieldNames as $name) { echo "$name\n"; }
PHPment,
Yvan
Une solution n'est valable que dans un contexte donné
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager