Общие > Базы данных
выборка из всей базы данных
scasic:
не знаю куда этот топик поместить лучше :)
надо осуществить поиск заданного слова по всей базе данных, при это не задавая имен таблиц и стобцов
их желательно получить программным путем (php)
fidget:
Если ты это собираешься делать при помощи SQL (пофиг какая СУБД), то никак :)
scasic:
ясен пень никак
хочу посредством php :)
Alexandr:
mysql_query("SHOW TABLES");
Получаешь все таблицы.
Далее для каждой таблицы цикл
{
$r=mysql_query("SELECT * FROM $table_name LIMIT 1");
далее
mysql_num_fields($r); - кол-во столбцов
цикл{
$field=mysql_field_name($r, $i) - $i номер столбца
if (empty($your_global_where))
$your_global_where.="$field LIKE \'%$your_global_word%\'";
else
$your_global_where.=" or $field LIKE \'%$your_global_word%\'";
}
SELECT * FROM $table_name WHERE $your_global_where
}
Вот в общем-то весь алгоритм.
fidget:
а зачем тебе это нужно?
если база большая, то все это очень долго работать будет ..
тем более что индексы тут использоваться в запросах не будут ...
Навигация
Перейти к полной версии