当前位置:  开发笔记 > 编程语言 > 正文

将PHP准备好的语句与LIKE结合起来

如何解决《将PHP准备好的语句与LIKE结合起来》经验,为你挑选了2个好方法。

任何人都知道如何将PHP预处理语句与LIKE结合起来?即

"SELECT * FROM table WHERE name LIKE %?%";



1> Chad Birch..:

%符号需要包含您分配给参数的变量,而不是查询中的变量.

我不知道你是使用mysqli还是PDO,但是使用PDO它会是这样的:

$st = $db->prepare("SELECT * FROM table WHERE name LIKE ?");
$st->execute(array('%'.$test_string.'%'));

编辑::对于mysqli用户以下.

$test_string = '%' . $test_string . '%';
$st->bind_param('s', $test_string);
$st->execute();



2> Richard Leva..:

您可以使用相应sql数据库的串联运算符:

# oracle
SELECT * FROM table WHERE name LIKE '%' || :param || '%'
# mysql
SELECT * from table WHERE name LIKE CONCAT('%', :param, '%')

我不熟悉其他数据库,但他们可能有一个等效的函数/运算符.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有