将变量赋值,自己测试一下,比如: <?php $tid=1; $lid=2; $keyword ="1,2,3,4,5"; $sql="SELECT lid, title, htmlfile, add_time FROM zixun_list WHERE tid='$tid' AND lid<>'$lid' AND (keyword LIKE '%".preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword))."%') ORDER BY lid DESC LIMIT 2"; echo $sql;//不就一目了然了? ?>
我是看(keyword LIKE '%".preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword))."%')里面的preg_replace("/(,|,)/", 不太明白是什么意思!
这上面的这个应该是个函数吧preg_replace,我没用PHP开发过,嘿嘿,查下函数看看
preg_replace是正则表达式!不知道 什么 意思啊 !
查查手册,google一下,正则不是两三句话就可以搞定的。
在SQL插入preg_replace,,是怎么个 查询法a 高手 救偶哦
比如$keyword = "a,b"; preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword)); 就是把$keyword字符串中的逗号替换为字符串 %' OR keyword LIKE '% 那么 "(keyword LIKE '%".preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword))."%')" 就变成 "(keyword LIKE '%a%' OR keyword LIKE '%b%')"啦
<?php
$tid=1;
$lid=2;
$keyword ="1,2,3,4,5";
$sql="SELECT lid, title, htmlfile, add_time FROM zixun_list WHERE tid='$tid' AND lid<>'$lid' AND (keyword LIKE '%".preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword))."%') ORDER BY lid DESC LIMIT 2";
echo $sql;//不就一目了然了?
?>
preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword));
就是把$keyword字符串中的逗号替换为字符串 %' OR keyword LIKE '%
那么
"(keyword LIKE '%".preg_replace("/(,|,)/", "%' OR keyword LIKE '%", stripslashes($keyword))."%')"
就变成
"(keyword LIKE '%a%' OR keyword LIKE '%b%')"啦