1

これを行うコードをセットアップしたい: (* はワイルドカード)

SELECT * FROM * WHERE * CONTAINS '$search-query';

これを達成するためにどのMYSQLコードを使用できますか。

4

1 に答える 1

2

あなたがやりたいことをすることができるanywhereindbと呼ばれるプロジェクトがあります。


私は完全なソリューションを作成するつもりはありません、それは長い時間がかかるでしょう、しかし私はあなたが呼ぶものの例を作成するつもりです

SELECT * From `tablename` WHERE * CONTAINS `$search_query`

まず、フィールドを抽出しましょう

$fields = array();
$query = "SELECT * FROM `yourtable` LIMIT 1;";
$result = mysql_query($query);
while ($i < mysql_num_fields($result)) {
    $info = mysql_fetch_field($result, $i);
    $fields[] = $info -> name;
}

クエリを準備します

$query = "SELECT * FROM `table` WHERE";
foreach($fields as $index => $field) {
    $fields[$index] = $field." CONTAINS '$search_query'"
}
$query .= implode(" and ", $fields);
//Finally query
$result = mysql_query($query);
于 2012-04-13T00:51:29.767 に答える