十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
只有模糊匹配才用like
创新互联建站2013年开创至今,先为莒南等服务建站,莒南等地企业,进行企业商务咨询服务。为莒南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如果不是模糊匹配直接用等于,效率不会低的
数据量大的话,可以尝试为数据表创建索引来提升搜索效率
这里纠个错,搜索引擎和你的描述是2码事哈,你说的应该叫php数据库操作类,不过一般做数据库搜索都是会用到like,between这些关键字的
这样看你做什么样的搜索,如果要做全站搜索的话,只用数据库搜索做起来会比较困难,会遇到要检索的数据存在不同的表中,甚至不同的库中,如果是全站搜索的话,建议用sphinx或者lucener,如果只是某个表内容搜索的话,sql:select * from 表名 where 列名 like '%值%' ;然后循环 mysql_fetch_array() 或 mysql_fetch_assoc() 或 mysql_fetch_object() 或 mysql_fetch_row()都取一行记录,把记录循环出来就可以了。
总感觉你这个SQL
$sql="select * from `$table` where `$condition` like '%$_POST[key]%'";
有问题 正确的应该写成
$sql="select * from `".$table."` where `".$condition."` like '%".$_POST[key]."%'";
如果按照你原来的SQL 打印出了结果但是没有加粗 你可以尝试替换成其他字符
用以判断是否执行了
$arr['username']=ereg_replace("/($_POST[key])/i","b\\1/b",$arr['username']);