PHP+html实现搜索功能,

问题1、在使用PHP语言做搜索功能的时候,遇到前端传到后台的值为乱码

问题2、在进行like查询是,绑定参数报错

过程总结:

1、搜索框效果图

2、搜索框代码

<div class="device_search" >
                <form action="<?php echo Yii::app()->createUrl('tipexn/searchWord'); ?>"method="post" >
                    <input type="text" name="search" id="device_search_input" class="device_search_input" placeholder="search">
                    <input class="device_search_span" type="submit" value="">
                </form>
            </div>

3、后台接收参数使用:urldecode和htmlentities

$search= htmlentities(urldecode(Yii::app()->request->getParam('search')));

到此,成功接收中文,并且不乱码

4、数据库查询使用like,

$sql = "select * from TIPEXN_DataDef t where t.CHNName like :searchword or t.ShortCHNName like :searchword or Producer like :searchword or ProductionUnit like :searchword ";
        $keyWords1 = '%'.$searchword.'%';
        $data = Yii::app()->sdb->createCommand($sql)->bindParam(':searchword',$keyWords1,PDO::PARAM_STR)->queryAll();

自此,问题2解决

出现问题2的原因是:我再like后跟%,比如:

where t.CHNName like '%:search%' or t.ShortCHNName like '%:search%' or Producer like '%:search%' or ProductionUnit like '%:search%'

这样写看起来没有毛病,但是报参数绑定错误;至于为什么错,我也不知道,也许是写错了,大神们有什么想法,欢迎指导

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值