我做了分页,并且有过滤条件,有几种状态。问题在于: and status in ({$status}) 这段。select * from `news_main` where `input_uid`=8001 and status in ('0','1','3','5') order by `input_time` desc 和status in (0,1,3,5)查出来的结果是不一样的,前面的方式是正确的。但是我在分页 第几页的超链接的属性里要传递status得用 status=0,1,3,5 形式 而不能用status= '0','1','3','5' 形式 因为这样提交过去 sql部分语句会变成 status in (\'0\',\'1\',\'3\',\'5\')导致没有结果。请问有没有什么方法防止提交过去生成'\' 的,或者其它的思路? 谢了!
status='0,1,3,5'; //得到的$status = '\'' . implode('\',\'', explode(',', $status)) . '\''; //开始处理status= '0','1','3','5'; //处理后的得到的
$status='0,1,3,5';$status = '\'' . implode('\',\'', explode(',', $status)) . '\'';echo '<pre>';print_r($status);
//查询使用"'1','2','3'"形式
$temp_status=explode(",",$status);
//implode("','", $temp_status)后形如 0','1','3','5
$status = "'". implode("','", $temp_status) . "'";
//处理完后 如 '0','1','3','5'//----查询操作----
//分页超链接传递参数使用"1,2,3"形式
$status = str_replace("'","", $status);
好像太麻烦了,还是在查询前加上$status=stripslashes($status);一行代码省事!也统一用"'1','2','3'"形式 了