我有一个这样的字符串:
$str = "It is a test. 10".
我还有两个问题:
一个:上面的字符串不包含任何"数字" :(想象一下:$str = It is a test.
)
所以,这是查询:
select * from table where match(col1,col2,co3) against('$str')
二:上面的字符串包含一些"数字":
首先,我将这个数字与字符串分开:
preg_match_all('!\d+!', $str, $matches);
然后这是查询:
select * from table where match(col1) against('$str') and col4 IN (" .implode(',', $matches[0]) . ")";
union all
select * from table where match(col1,col2,co3) against('$str')
始终会运行其中一个查询(根据条件)。现在,我想知道,如何实现动态查询?