搜索
关于一个PHP mysql 多条件查询的问题
PHPz
PHPz 2017-04-10 16:32:28
[PHP讨论组]

这是一个多条件查询拼接的语句

if($sex and is_array($service)){

 $values = implode("%' OR service LIKE '%",$service);
$sql.="   and  service like '%".$values."%'  ";
$sql.=" and sex='$sex'";   

}

现在存在一个问题,如果在这种条件下会生成的结果是:
select * from dr_member_data where zsoff='是' and sfph='1' and uid<>'1' and sex='男' and service = '%逛街%' OR service = '%就医陪诊%'limit 0,10

数据库中将生成结果:


那么最后一条:sex=女 的这条信息的结果是不匹配的 是从$sql.=" and service like '%".$values."%' ";得出的结果,我想排除$sql.=" and service like '%".$values."%' "; sex=女的这条结果,sql语句应该怎么拼接呢

PHPz
PHPz

学习是最好的投资!

全部回复(2)
高洛峰

select * from dr_member_data where zsoff='是' and sfph='1' and uid<>'1' and sex='男' and (service = '%逛街%' OR service = '%就医陪诊%') limit 0,10

if($sex and is_array($service)){
    $values = implode("%' OR service LIKE '%",$service);
    $sql.="   and (service like '%".$values."%')";
    $sql.=" and sex='$sex'";   
}
天蓬老师

select * from dr_member_data where (zsoff='是' and sfph='1' and uid<>'1' and sex='男' and service = '%逛街%') OR service = '%就医陪诊%'limit 0,10

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号