2011-11-25 28 views
1

基本上,我需要的是這樣的逆:查詢數據庫記錄存在於字符串中的情況?

SELECT * FROM `table` WHERE `query` LIKE '%string%' 

的東西,看起來像:)

SELECT * FROM `table` WHERE '%string%' LIKE 'thestringmachine' 

我擡頭稱爲操作包含Internet(但它似乎沒有不工作。 有人可以幫我嗎?

編輯:

$inc = "themachinethatthinks"; 
$query = mysql_query("SELECT * FROM `spell` WHERE CONTAINS('$inc',`word`)"); 
$num = mysql_numrows($query); $i=0; 

while ($i < $num) { 

    $val = mysql_result($query,$i,"word"); 

    echo $val."<br>"; 

$i++; 
} 

數據庫中包含很多的話(只)。

+0

您正在使用哪個數據庫服務器? – sll

+0

這是一個php腳本... mysql – faq

+0

看起來我的思想在晚上不能工作......你能否給出一個例子,其中'LIKE'模式匹配不適合你? – sll

回答

1

我不知道我知道你需要什麼,但我嘗試:

SELECT * FROM your_table 
WHERE LOCATE(your_col, 'thestringmachine') > 0 

如果您需要查詢是不區分大小寫:

SELECT * FROM your_table 
WHERE LOCATE(LOWER(your_col), LOWER('thestringmachine')) > 0 
+0

我編輯了我的問題 – faq

+0

gee謝謝我正在尋找的東西 – faq

0

我不能嘗試它,因爲我不要這裏沒有SQL DB,但試試這個

SELECT * FROM `tablename` WHERE `thethinkingmachine' LIKE CONCAT('%', `colname`, '%'); 

如果這樣做會起作用,我懷疑它會非常高效。

相關問題