Fonction sql pour trouver le nom d'une table
Résolu
tuqqujaujuq
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
tuqqujaujuq Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
tuqqujaujuq Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
existe-t-il un e fonction php/mysql permettant de trouver à quelle table appartient une donnée?
pex ds quelle table se trouve le nom "jacques"?
merci pour l'amateur que je suis
tuqqujaujuq
existe-t-il un e fonction php/mysql permettant de trouver à quelle table appartient une donnée?
pex ds quelle table se trouve le nom "jacques"?
merci pour l'amateur que je suis
tuqqujaujuq
A voir également:
- Fonction sql pour trouver le nom d'une table
- Table ascii - Guide
- Fonction si et - Guide
- Table des matières word - Guide
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
6 réponses
ca me semblait un peu lourd pour son utilisation.
ça n'est quand même pas si compliqué que ça ...
ça n'est quand même pas si compliqué que ça ...
<?php $dbServer="localhost"; $dbName="essai"; $User="xxxxxx"; $Pwd="xxxxxx"; $cnx = mysql_connect($dbServer, $User, $Pwd ); $db = mysql_select_db($dbName); $valeurcherchee= "jacques"; $rep = mysql_db_query($dbName,'show tables in essai') or die (mysql_error()); $tbl=array(); while ($lgn=mysql_fetch_array($rep)) $tbl[]=$lgn[0]; mysql_free_result($rep); foreach ($tbl as $table) { $rep= mysql_db_query($dbName,'SHOW COLUMNS FROM `'.$table.'` FROM '.$dbName) or die (mysql_error()); $tbcolonnes=array(); while ($lgn=mysql_fetch_array($rep)) $tbcolonnes[]=$lgn[0]; foreach ($tbcolonnes as $colonne) { $rep= mysql_db_query($dbName,'SELECT * FROM `'.$table.'` WHERE CONCAT(`'.$colonne. '`) =\''.mysql_real_escape_string($valeurcherchee).'\'') or die (mysql_error()); echo " trouvé ",mysql_num_rows($rep), " fois dans la colonne ", htmlspecialchars($colonne), ' de la table ', htmlspecialchars($table),'<BR>'; mysql_free_result($rep); } // foreach ($tblcolonnes } // foreach ($tbl ?>
Encore faut-il connaitre la structure de la base et des tables, afin de pouvoir faire des requête qui tiennent la route.
Si tu connais tout ca tu devrait donc savoir dans quelles tables cette information peut etre présente.
Si tu connais tout ca tu devrait donc savoir dans quelles tables cette information peut etre présente.
depuis quand la structure d'une table a de quoi avoir avec ce quelle contient. tu cherches une donnée et pas un élément de la structure de la table
malheureusement c'est php/mysql, mais normalement (sous windows) tu utilisera probablement ADO pour te connecter à la base. ADO te fournit le catalogue (la liste de table), la structure d'une table et plus
je suis certain que même sans ADO il y a qq chose de similaire dans php/mysql. au moins la API pour ODBC contient cette fonctionalité. le reste se trouvera sur google.
je suis certain que même sans ADO il y a qq chose de similaire dans php/mysql. au moins la API pour ODBC contient cette fonctionalité. le reste se trouvera sur google.
Je suis d'accord que tu peux avoir la structure de ta base avec show tables, mais il ne faut pas oublier qu'on est dans le contexte d'un script PHP, donc il faudrait alors développer un moteur d'interprétation du résultat de show table pour construire dynamiquement ses requetes en fonction des noms de table, champs, etc... c'est tout à fait réalisable mais ca me semblait un peu lourd pour son utilisation.
N'y a-t-il rien d'autre qui existe ?
N'y a-t-il rien d'autre qui existe ?
je ne sais pas pour mysql mais dans chaque base sérieuse tu peux continuer avec qq chose comme ça
SHOW FIELDS IN nomtable
puis en boucle
for each table in <resultat de SHOW TABLES IN nombase>
for each field in <resultat de SHOW FIELDS IN nomtable>
do stuff
FieldList = FieldList & field.name & ", "
next
next
SHOW FIELDS IN nomtable
puis en boucle
for each table in <resultat de SHOW TABLES IN nombase>
for each field in <resultat de SHOW FIELDS IN nomtable>
do stuff
FieldList = FieldList & field.name & ", "
next
next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question