在 PHP MySQLi 准备好的语句中结合 LIKE 和 IN

用户2727391

尝试为设备数据库构建搜索页面,我有一个准备好的语句,它采用设备“标签”(始终需要)并在“标签”与用户输入匹配的六个不同数据字段中搜索关键字。

问题是如果关键字是IN这些可能很长的字段之一,则找不到任何结果,因此会丢失许多预期结果。

在常规 SQL 中,我只需要连接表并将LIKE查询添加IN查询中;但是对于 mysqli,我正在使用带有?占位符的准备好的语句,并且不确定对于每个变量多次使用此标记可以做什么。

我的声明是这样的:

if (!($stmt = $conn->prepare("SELECT * FROM equipment 
    WHERE EQUIP_CND LIKE ? 
    AND (EQUIP_TYP LIKE ? OR ((EQUIP_SER LIKE ? OR EQUIP_PNO LIKE ?) 
        OR (EQUIP_LOC LIKE ? OR EQUIP_CMT LIKE ?)));"))) {
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
}

我只想替换LIKELIKE IN. 如何实现这一目标?

克里斯85

like需要wildcards有宽松的匹配。

例如

select * from table where a like 'b'

是相同的:

select * from table where a = 'b'

所以b会找到一个记录,abc不会。

手册

使用 LIKE,您可以在模式中使用以下两个通配符:

%匹配任意数量的字符,甚至零个字符。

_正好匹配一个字符。

所以要找到abc你会使用:

select * from table where a like '%b%'

对于准备好的语句,通配符被附加到变量或绑定中,而不是在查询本身中。PDO 手册页上的示例 6 显示了这一点。http://php.net/manual/en/pdo.prepared-statements.php#example-991(评论后// placeholder must be used in the place of the whole value

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

php mysqli在准备好的语句中重复字段

来自分类Dev

在准备好的语句中使用LIKE'%{$ var}%'的正确方法?[mysqli]

来自分类Dev

Like子句和准备好的语句

来自分类Dev

为 PHP 用户类创建 mySQLi 准备好的语句

来自分类Dev

准备好的语句中的$ row [''] PHP

来自分类Dev

PHP-准备好的语句和json_encode

来自分类Dev

EXTJS 5和PHP使用准备好的语句创建

来自分类Dev

EXTJS 5和PHP使用准备好的语句创建

来自分类Dev

使用 PHP 和 MSSQL 准备好的语句

来自分类Dev

准备好的语句和mysqli_query / mysqli_num_rows?

来自分类Dev

绑定变量的数量与 php 和 android 中准备好的语句中的字段数量不匹配

来自分类Dev

在MySQLi准备好的语句中,STMT代表什么?

来自分类Dev

从mysqli准备好的语句中选择随机行

来自分类Dev

准备好的语句在 LIKE 子句中缺少绑定变量

来自分类Dev

从一个准备好的语句中进行许多php mysqli查询,却不知道有多少个参数

来自分类Dev

准备好的语句和mysqli_query在同一页面上

来自分类Dev

如何使用 MySQLi 和准备好的语句将一行选择导出到 JSON

来自分类Dev

在PHP中使用mysqli的“ SELECT”命令的准备好的语句失败

来自分类Dev

从准备好的语句中获取文本(PHP,PDO)

来自分类Dev

在PHP准备好的语句中插入日期

来自分类Dev

嵌套MySQLi准备好的语句

来自分类Dev

mysqli函数内部准备好的语句

来自分类Dev

从mysqli准备好的语句创建数组

来自分类Dev

mysqli到准备好的语句

来自分类Dev

mysqli 准备好的语句顺序

来自分类Dev

使用准备好的语句PHP返回MySQL错误代码和自定义响应

来自分类Dev

在准备好的mysqli语句中多次使用一个参数

来自分类Dev

PHP MySQLi准备的语句

来自分类Dev

准备好的语句和 setString

Related 相关文章

  1. 1

    php mysqli在准备好的语句中重复字段

  2. 2

    在准备好的语句中使用LIKE'%{$ var}%'的正确方法?[mysqli]

  3. 3

    Like子句和准备好的语句

  4. 4

    为 PHP 用户类创建 mySQLi 准备好的语句

  5. 5

    准备好的语句中的$ row [''] PHP

  6. 6

    PHP-准备好的语句和json_encode

  7. 7

    EXTJS 5和PHP使用准备好的语句创建

  8. 8

    EXTJS 5和PHP使用准备好的语句创建

  9. 9

    使用 PHP 和 MSSQL 准备好的语句

  10. 10

    准备好的语句和mysqli_query / mysqli_num_rows?

  11. 11

    绑定变量的数量与 php 和 android 中准备好的语句中的字段数量不匹配

  12. 12

    在MySQLi准备好的语句中,STMT代表什么?

  13. 13

    从mysqli准备好的语句中选择随机行

  14. 14

    准备好的语句在 LIKE 子句中缺少绑定变量

  15. 15

    从一个准备好的语句中进行许多php mysqli查询,却不知道有多少个参数

  16. 16

    准备好的语句和mysqli_query在同一页面上

  17. 17

    如何使用 MySQLi 和准备好的语句将一行选择导出到 JSON

  18. 18

    在PHP中使用mysqli的“ SELECT”命令的准备好的语句失败

  19. 19

    从准备好的语句中获取文本(PHP,PDO)

  20. 20

    在PHP准备好的语句中插入日期

  21. 21

    嵌套MySQLi准备好的语句

  22. 22

    mysqli函数内部准备好的语句

  23. 23

    从mysqli准备好的语句创建数组

  24. 24

    mysqli到准备好的语句

  25. 25

    mysqli 准备好的语句顺序

  26. 26

    使用准备好的语句PHP返回MySQL错误代码和自定义响应

  27. 27

    在准备好的mysqli语句中多次使用一个参数

  28. 28

    PHP MySQLi准备的语句

  29. 29

    准备好的语句和 setString

热门标签

归档