带有 LIKE 子句的查询在搜索字符串周围使用通配符返回所有行

用户147490

当我尝试 bind 时$string,它要么不返回任何结果,要么返回我表中的所有结果。

如果我使用$string= '%' . $string . '%'or$string= "%" . $string . "%"它返回所有行。

当我尝试$string直接绑定而不进行任何修改时,它根本不返回任何结果。

我尝试使用不同的格式化技术,如修剪和字符串替换函数,但到目前为止没有任何效果对我有用。我正在使用 PHP/5.6.20。


    function searchPatient($string){
            $string= '%' . $string . '%';
            $stmt = $this->con->prepare("SELECT id, fname, lname, mname, sex, title, DOB FROM patient_data WHERE fname LIKE ?");
            $stmt->bind_param("s",$string);
            $stmt->execute();
            $stmt->bind_result($id, $fname, $lname, $mname, $sex, $title, $DOB);

            $pat_record = array(); 

            while($stmt->fetch()){
                $patient  = array();
                $patient['id'] = $id; 
                $patient['fname'] = $fname; 
                $patient['lname'] = $lname;
                $patient['mname'] = $mname;
                $patient['sex'] = $sex;
                $patient['title'] = $title;
                $patient['DOB'] = $DOB;         
                array_push($pat_record, $patient); 
            }
            return $pat_record; 
        }

当我?用实际的搜索词替换时'John'或者'%John%'它应该可以正常工作。有没有人知道这里发生了什么?

你的常识

当带有 LIKE 子句的查询在搜索字符串周围使用通配符返回所有行时,这意味着搜索字符串为空尽管您可能对其内容有任何看法。这是一个确凿的事实,也是这个问题的实际答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用带有日期字符串的LIKE子句进行查询

故意返回所有带有LIKE子句的记录

PostgreSQL中带有\字符的LIKE子句

带有like子句(N'%өө%')的Unicode谓词返回所有行

CodeIgniter的“ like()”函数在搜索字词中带有%通配符

带有 IF、AS 和 LIKE 的 SQL 查询

Laravel关系查询,带有“ LIKE”问题

大查询内部联接,带有“ like”子句

带有like子句的mysql if语句返回null

带有连接的搜索查询在搜索的字符串为空时显示所有行

使用带有变量的“ -Filter”和“ -Like”

MySQL LIKE where带有参数的子句不使用索引

带有选择选项的ABAP LIKE

对于IGNITE,带有“ like”的SqlFieldsQuery

带有 LIKE 的 MYSQL UPDATE 字段

带有PHP的PHP Like / Unlike按钮

带有 % 的 Redshift LIKE 列值

带有Ajax的Django Like函数

带有“ Like”和“%___%”的SAS SQL

带有多个参数的 LIKE 语句

带有反向名称的SQL Like查询返回结果

Postgresql 查询 - 使用 ANY 查询和 LIKE 时为每个结果行返回所有匹配的搜索词

选择带有 like 和 not like MySql 的值时出错

如何在带有IN子句和子查询的查询中使用多个LIKE语句?

为什么在带有通配符的LIKE查询中不使用索引?

带有LIKE,通配符和前导零的MySQL SELECT

如何使用带有特殊字符的SQL LIKE命令?

带有“like”比较器的 Laravel“where”子句

如何使用like(或欢迎使用其他解决方案)搜索除某些字符串以外的所有字符串?