基本上,我需要的是与此相反:
SELECT * FROM `table` WHERE `query` LIKE '%string%'
看起来像:
SELECT * FROM `table` WHERE '%string%' LIKE 'thestringmachine'
我在互联网上查看了一个名为CONTAINS()的操作,但它似乎不起作用。 有人能帮助我吗?
编辑:
$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 :(得分:1)
我不确定我理解你需要什么,但我尝试:
SELECT * FROM your_table
WHERE LOCATE(your_col, 'thestringmachine') > 0
如果您需要查询不区分大小写:
SELECT * FROM your_table
WHERE LOCATE(LOWER(your_col), LOWER('thestringmachine')) > 0
答案 1 :(得分:0)
我无法尝试,因为我手边没有SQL DB,但试试这个
SELECT * FROM `tablename` WHERE `thethinkingmachine' LIKE CONCAT('%', `colname`, '%');
如果这样可行,我怀疑它会非常高效。