Skip to content

Instantly share code, notes, and snippets.

@dilakv
Created February 21, 2023 23:37
Show Gist options
  • Save dilakv/16508a76318392daf4b0e40435326c8e to your computer and use it in GitHub Desktop.
Save dilakv/16508a76318392daf4b0e40435326c8e to your computer and use it in GitHub Desktop.
<?php
ini_set('memory_limit', '0');
// Configuración de la base de datos
$db_host = "mysql.service.bcdev";
$db_user = "root";
$db_pass = "magic";
function get_databases() {
global $db_host, $db_user, $db_pass;
// Conexión al servidor de la base de datos
$dsn = "mysql:host=$db_host;";
$pdo = new PDO($dsn, $db_user, $db_pass);
$bases_de_datos = [];
// Obtener una lista de todas las bases de datos
$stmt = $pdo->query("SHOW DATABASES");
while ($row = $stmt->fetch()) {
$bases_de_datos[] = $row['Database'];
}
// Cerrar la conexión a la base de datos
$pdo = null;
return $bases_de_datos;
}
function open_mysql($db_name) {
global $db_host, $db_user, $db_pass;
// Conexión a la base de datos
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
// Verificar la conexión
if ($mysqli->connect_errno) {
echo "Falló la conexión a la base de datos: " . $mysqli->connect_error;
exit();
}
return $mysqli;
}
function get_tables($mysqli)
{
// Obtener todas las tablas de la base de datos
$tables = array();
$result = $mysqli->query("SHOW TABLES");
while ($row = $result->fetch_array()) {
$tables[] = $row[0];
}
return $tables;
}
function iterate_in_tables($tables, $mysqli, $loquebuscas)
{
foreach ($tables as $table) {
$result = $mysqli->query("SELECT * FROM $table");
while ($row = $result->fetch_assoc()) {
search_in_row($table, $row);
}
}
}
function search_in_row($table, $row) {
foreach ($row as $key => $value) {
echo ".";
// Si se encuentra la cadena, mostrar la tabla y la columna
if (strpos($value, "bluesnap") !== false) {
echo "<br>Tabla: $table, Columna: $key, Valor: $value<br>";
}
}
}
function search($loquebuscas)
{
$bases_de_datos = get_databases();
foreach($bases_de_datos as $bd)
{
echo "-> BD: $bd <br />";
$mysqli = open_mysql($bd);
$tablas = get_tables($mysqli);
iterate_in_tables($tablas, $mysqli, $loquebuscas);
$mysqli->close();
echo "<br> ---------------------- <br>";
}
}
search("gato negro");
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment