|
|
|
| Мне нужно осуществить поиск по всем полям таблицы базы данных примерно так:
SELECT * FROM table WHERE * LIKE '%search%';
|
Как правильно мне сформировать запрос, чтобы получить желаемое? Количество полей, их имена, тип заранее неизвестны, нужно просто найти все строки таблиц, содержащие искомое слово. Третий день уже копаю эту тему в интернете, так ничего толкового и не нашёл. | |
|
|
|
|
|
|
|
для: Ruskar
(15.03.2009 в 10:34)
| | В принципе я пришёл к определённому решению в PHP, но мне оно кажется весьма «велосипедным»:
mysql_connect('localhost', 'root', 'ertgERhterth');
mysql_select_db('promsvyaz');
$result = mysql_list_tables("promsvyaz");
while($row = mysql_fetch_row($result)) {
$fields = mysql_list_fields("promsvyazbank", $row[0]);
$cols = mysql_num_fields($fields); //Получаем количество полей
for ($i = 0; $i < $cols; $i++) {
echo mysql_field_name($fields, $i)."<br />"; //Получаем имена полей
}
}
|
Ну а дальше обрабатываем запросы примерно так:
SELECT * FROM `table` WHERE `field1` LIKE '%search%' OR `field2` LIKE '%search%' OR `field3` LIKE '%search%';
|
| |
|
|
|