如:表table
id title
1 你好
2 再见
3 谢谢
4 老师
GET传的值a为"老师,你好"
通过select 查询出的记录为
id title
1 你好
4 老师
我之前用的笨方法是【我用的是PHP】
循环 table {
if (strstr(a,title)){
echo
}
}
但是这样数据量大的话,查询速度会变慢,想通过select直接匹配出1、4的记录,然后在循环取值,效率会提高。
å
æGETä¼ è¿æ¥çæ°æ®ç¨éå·åå²æå符串并èµç»æ°ç»ï¼$str=explode("," , "$GET[åé]");
ç¶ååæ¥è¯¢çæ¶å循ç¯ä¸ä¸å°±è¡äº
for($i=0; $i<count($str); $i++){
select * $table where id in($str[i]);
}
è¿ä¸ªä»£ç éç¹æ¯ï¼in (str[i]);
å å ¥è°è¯ä¸ä¸å§è¿½é®
ç¶ååæ¥è¯¢çæ¶å循ç¯ä¸ä¸å°±è¡äº
for($i=0; $i<count($str); $i++){
select * $table where id in($str[i]);
}
è¿ä¸ªä»£ç éç¹æ¯ï¼in (str[i]);
å å ¥è°è¯ä¸ä¸å§è¿½é®
æ¨çæ¹æ³å¾å¥½ï¼éç¨äºgetä¼ ç±éå·åéçå¼ï¼æ¤å¼å°äºçäºæ°æ®åºtitleï¼ãå¯è½æ举å¾ä¾åææ¬ å¦¥ï¼å¦ææ¯âèå¸ä½ 好åâï¼ç¨æ¨çæ¹æ³å¯è½å°±ä¸è¡äºãå ä¸ºæ ¹æ¬æ æ³åéï¼ä¹å°±æ²¡æ³ç¨æ°ç»äºã
请é®ï¼å¦ææ¯âèå¸ä½ 好åâï¼æä¹æ¥è¯¢åºç»æå¢ï¼
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-10-07
如果参数是用英文逗号分割可以使用集合查找函数完成
select * from tableName where FIND_IN_SET(title,查询字符串) > 0;
select * from tableName where FIND_IN_SET(title,查询字符串) > 0;
第2个回答 2013-10-06
select id,title from 表名 where id in(1,4);