Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| info:mysql:mysqlphp_find_string_all_databases_all_tables_all_fields [2023/03/20 14:54] – supprimée - modification externe (Unknown date) 127.0.0.1 | info:mysql:mysqlphp_find_string_all_databases_all_tables_all_fields [2023/03/20 14:54] (Version actuelle) – ↷ Page déplacée de info:mysqlphp_find_string_all_databases_all_tables_all_fields à info:mysql:mysqlphp_find_string_all_databases_all_tables_all_fields radeff | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Script php cgi pour trouver un string dans toutes les bases, toutes les tables, tous les champs d'un hôte ====== | ||
| + | <code php> | ||
| + | #! / | ||
| + | <?php | ||
| + | error_reporting(63); | ||
| + | / | ||
| + | ** Title........: | ||
| + | ** Filename.....: | ||
| + | ** Author.......: | ||
| + | ** Version......: | ||
| + | ** Notes........: | ||
| + | ** Last changed.: 09/24/2008 | ||
| + | ** Last change..: | ||
| + | ** Usage: mysqlcherchepartout.php [enter] [yourString] [enter] | ||
| + | *************************** | ||
| + | echo " | ||
| + | $chercher = trim(fgets(STDIN)); | ||
| + | if(strlen($chercher)< | ||
| + | echo " | ||
| + | exit; | ||
| + | } | ||
| + | |||
| + | |||
| + | ############ | ||
| + | # mysql connection | ||
| + | include(" | ||
| + | $db=connect_db(); | ||
| + | |||
| + | ############ | ||
| + | # list all db | ||
| + | $listedb=" | ||
| + | $result=@mysql_query($listedb); | ||
| + | # | ||
| + | if (!$result) { | ||
| + | exit('< | ||
| + | '</ | ||
| + | } | ||
| + | #loop on db names | ||
| + | while ($row = mysql_fetch_array($result)) { | ||
| + | #echo '< | ||
| + | $db=$row[0]; | ||
| + | echo " | ||
| + | echo " | ||
| + | #echo "DB: "; //tests | ||
| + | #echo $db; //tests | ||
| + | $utiliseDB=mysql_query(" | ||
| + | if(!$utiliseDB) { | ||
| + | echo " | ||
| + | } | ||
| + | |||
| + | #search tablenames | ||
| + | $tables = "show tables from $db"; | ||
| + | $result_tables = mysql_query($tables); | ||
| + | |||
| + | if (!$result_tables) { | ||
| + | echo "db error, could not list tables\n"; | ||
| + | echo 'mysql error: ' . mysql_error(); | ||
| + | exit; | ||
| + | } | ||
| + | #loop on tablenames | ||
| + | while ($rowtables = mysql_fetch_row($result_tables)) { | ||
| + | #echo " > Table: ";// | ||
| + | $latable=$rowtables[0]; | ||
| + | $larequete=" | ||
| + | |||
| + | #echo " | ||
| + | |||
| + | #search fieldnames (cols) | ||
| + | |||
| + | $champs = mysql_query(" | ||
| + | if (!$champs) { | ||
| + | echo 'Could not run query: ' . mysql_error(); | ||
| + | exit; | ||
| + | } | ||
| + | if (mysql_num_rows($champs) > 0) { | ||
| + | while ($row_champs = mysql_fetch_row($champs)) { | ||
| + | #echo " > > Champ: "; //tests | ||
| + | #echo " | ||
| + | $lechamp=$row_champs[0]; | ||
| + | #add the field to the sql query | ||
| + | $larequete.=" | ||
| + | } | ||
| + | } | ||
| + | #now construct the sql query | ||
| + | $larequeteSql=str_replace(" | ||
| + | #exec the sql query | ||
| + | $larequete=mysql_query($larequeteSql); | ||
| + | if (!$larequete) { | ||
| + | echo "sql query error\n"; | ||
| + | echo 'mysql error: ' . mysql_error(); | ||
| + | } | ||
| + | if(mysql_num_rows($larequete)> | ||
| + | #echo "SQL: \n" .$larequeteSql ." | ||
| + | #echo "Hits: " .mysql_num_rows($larequete) ." | ||
| + | echo " | ||
| + | $i=0; | ||
| + | while ($i< | ||
| + | $champs2 = mysql_query(" | ||
| + | while ($row_champs2 = mysql_fetch_row($champs2)) { | ||
| + | $lechamp2=$row_champs2[0]; | ||
| + | echo utf8_encode(mysql_result($larequete, | ||
| + | } | ||
| + | $i++; | ||
| + | } | ||
| + | echo " | ||
| + | } | ||
| + | } | ||
| + | mysql_free_result($result_tables); | ||
| + | echo " | ||
| + | } | ||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | {{tag> | ||