php - 使用 Microsoft Access 数据库的 PHP PDO 的 REPLACE 版本
问题描述
我需要使用 PDO 和 PHP 在 MDB ACCESS 数据库中搜索一个单词。
问题是在数据库中我可以有一个名为 CODE_NUMBER 的字段,它可以包含点或逗号,例如:
12.11.34
用户在使用自定义表单搜索数据库中的文章时,可能不使用点或其他特殊字符进行搜索......所以在上面的示例中,它可以在输入框中写下这样的内容:
1211
然后按回车。
在这种情况下,我想得到12.11.34
一个有效的结果,忽略对点的搜索。
问题是 MDB ACCESS 的 PDO 不支持 REPLACE 命令:
这个版本的 mysql 正在工作:
$code = "1211";
$rs = $db->prepare('SELECT Products.* FROM Products WHERE REPLACE(Products.CODE_NUMBER, ".", "") LIKE ?');
$rs->execute(array("%" . $code . "%"));
$ris = $rs->fetchAll(PDO::FETCH_ASSOC);
但是使用MDB访问的同一个不起作用!
所以我从这里尝试了这种方式:在带有 PDO 和 .MDB ACCESS 的 SELECT 中使用 REPLACE 进行搜索,使用 PHP
$code = "1211";
$code = implode("[.]", str_split($code )) . "[.]";
$rs = $db->prepare('SELECT Products.* FROM Products WHERE Products.CODE_NUMBER LIKE ?');
$rs->execute(array("%" . $code . "%"));
$ris = $rs->fetchAll(PDO::FETCH_ASSOC);
但它不起作用。
有什么建议吗?
解决方案
推荐阅读
- r - 尝试根据 if_else 条件更改变量值时 mutate() 出现 dplyr 错误
- lua - 加分在 Roblox 中不断增加
- python-3.x - 将列表中的结果附加到字符串
- c++ - 将数组传递给 void 参数中的回调函数
- ruby-on-rails - ActiveRecord::StatementInvalid: SQLite3::SQLException: 没有这样的表
- c++ - 遍历同一数组的多个范围
- python - 如何使用 Angular 仅选择第一个元素?“Django 后端”
- python - 如何将python项目(pycharm)转换为exe文件
- java - Android 从 Okhttp onResponse 函数中提取字符串
- javascript - javascript中的dom操作和获取