2012-04-13 118 views
1

我想设置的代码,这是否:(*为通配符)通配符在哪里?

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

我可以使用哪些MySQL的代码,以达致这。

回答

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); 
+0

这将无法正常工作。我需要一些我可以直接实施到我的网站的东西。我想严格遵守PHP。我需要一些可以直接通过mysql_query命令运行的东西。 – 2012-04-13 00:57:43

+0

@SamClark,检查更新。这是我会给这个问题最好的。请不要介意。 – Starx 2012-04-13 01:16:58