Oggi vi presento un semplice script in php che vi permetterà di effettuare qualunque ricerca all'interno di un vostro Database MySql.
Non sai cos'è un Database?
Un database è generalmente intesa come un'enorme banca dati dove solitamente vengono salvati quei dati che poi verranno modificati dagli amministratori ed è il posto dove gli script posso facilmente andare a "pescare" questi dati.
A cosa serve uno script per la ricerca dei dati?
Semplice, quando si gestiscono grosse banche dati e molti file interagiscono con il database è davvero facile perdersi, specialmente se il sito / programma non lo avete scritto voi e / o non sapete com'è strutturato.
Per questo motivo ho pensato di scrivere queste poche righe di php che restituiscono il valore trovato e la relativa posizione nel DB:
<?php
/*
* ## Script di Ricerca nel DataBase ##
* ####### by Daniele Covallero #######
*
*************************************/
## STRINGA DA RICERCARE ##
$ricerca = 'parola';
## SETTA QUESTI PARAMETRI ##
$server_address = '63.150.148.121';
$DB_name = 'DB_prova1';
$user_DB = 'administrator';
$pass_DB = 'password';
## IL RESTO E' AUTOMATICO ##
$con2 = mysql_connect($server_address, $user_DB, $pass_DB);
mysql_select_db($DB_name, $con2);
$ress = mysql_query("show tables", $con2) or die("Errore nella raccolta dei dati -> database1");
while ($row = mysql_fetch_assoc($ress))
{
$table = "";
$table = implode(",", $row); // <- contiene il nome tabella corrente
$ress2 = mysql_query("SHOW COLUMNS FROM ".$table."", $con2) or die("Errore database2");
while ($row2 = mysql_fetch_assoc($ress2))
{
$columns= implode(",", $row2);
$current_col=""; // <- contiene il nome colonna corrente
for($i=0; $i<strlen($columns); $i++)
{
if($columns[$i] != ',')
$current_col .= $columns[$i];
else
break;
}
//Search into ->
$sql = "SELECT * FROM ".$table." WHERE ".$current_col." LIKE '%".$ricerca."%'";
try
{
$ress3 = mysql_query($sql, $con2);
while ($row3 = mysql_fetch_assoc($ress3))
{
$risultato = $row3[$current_col];
if(strlen($risultato) >= 1)
{
echo "<br />Trovato nella tabella: <b>".$table."</b> nella colonna: <b>".$current_col."</b><br />";
echo $risultato."<br />";
}
}
}
catch(Exception $e){}
}
}
?>
Come potete notare vi basterà inserire la parola da ricercare e i classici parametri di connessione al database e poi tutto il resto è utomatico.
Per ora ho effettuato pochi test ma direi che se non ne farete un uso intensivo andrà più che bene ;)