select * from t_store where address like '%人%' and address like '%才%';
你这样试试,只要包含人才两个字的都能查询出来,[不过这样有一个缺点,就是'才'、'人'也会被查到,这个再处理一下就可以了]
用分词算法把整句切成词块,然后去数据库查询
只是判断sql语句是否执行成功,而不是判断是不是有数据
只要你的sql语句语法正确,对应的数据表和数据字段都正确,那么
无论你数据库有没有数据记录存在,mysql_query()都是真,那么
if ( $query ) {
永远都成立
而
else
永远都不会执行,
那么,他怎么会输出 无数据呢???
个人建议是这样改一下,判断sql语句执行是否成功,并且同时判断sql返回的数据源相应的行数,没有数据就是0行,有数据就返回有多少行,php中,0为假,大于0的数都为真,根据这个推论,那么,这样改一下
if ( $query && mysql_num_rows( $query ) ) {
本来就是那样,两个百分号中间的内容才是你要模糊查询的,你要是写 尼玛到底谁是人才?,肯定没结果
wsy
596