Below is the code for key word analysis,
$database = 'databasename';$criteria = '*keyword*'; // you can use * and ? as jokers
$dbh = new PDO("mysql:host=127.0.0.1;dbname={$database};charset=utf8", 'root', '');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$tables = $dbh->query("SHOW TABLES");
while (($table = $tables->fetch(PDO::FETCH_NUM)) !== false){
    if(strpos($table[0], "cache") === false && strpos($table[0], "sessions") === false && strpos($table[0], "watchdog") === false){    
       $fields = $dbh->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?");   
       $fields->execute(array ($database, $table[0]));
       $ors = array ();    
while (($field = $fields->fetch(PDO::FETCH_NUM)) !== false)    {        
       $ors[] = str_replace("`", "``", $field[0]) . " LIKE REPLACE(REPLACE(REPLACE(REPLACE(:search, '%', '\\%'), '_', '\\_'), '*', '%'), '?', '_')";    
}
    $request = 'SELECT * FROM ';    $request .= str_replace("`", "``", $table[0]);    $request .= ' WHERE ';    $request .= implode(' OR ', $ors);    $rows = $dbh->prepare($request);
    $rows->execute(array ('search' => $criteria));
    $count = $rows->rowCount();    
if ($count == 0)    {        continue;    }
    $str = "Table '{$table[0]}' contains {$count} rows matching '{$criteria}'.";    
    echo "
".str_repeat('-', strlen($str)+10)."
";    
    echo $str;    
    echo "
".str_repeat('-', strlen($str)+10) ."
";
    $counter = 1;    
while (($row = $rows->fetch(PDO::FETCH_ASSOC)) !== false)    {        
    $col = 0;        
    $title = "
Row #{$counter}:";        
    echo $title;        
foreach ($row as $column => $value){            
    echo  (($col++ > 0) ? str_repeat('-', 3) : ' '),            $column, ': ',            trim(preg_replace('!\s+!', ' ', str_replace(array ("\r", "\t", "\n"), array ("", "", " "), $value))),            "
";
        }        
echo "
";        
$counter++;    
}
}
}
Above code I have used in drupal site, So some change needed to match your requirement.
 
Comments