我正在尝试通过php的PDO类(mysql驱动程序)进行搜索。我在MySQL客户端上使用以下查询(更改表名以保护无辜者):

SELECT    hs.hs_pk,

hs.hs_text,

hs.hs_did,

hd.hd_did,

hd.hd_text,

hv.hv_text,

hc.hc_text

FROM      hs

LEFT JOIN hd

ON       hs.hs_did = hd.hd_did

LEFT JOIN hd

ON       hd.hd_vid = hv.hv_id

LEFT JOIN hc

ON       hd.hd_pclass = hc.hc_id

WHERE     hs.hs_text LIKE "%searchTerm%"

LIMIT 25;

不管我使用什么搜索词,它都像一个符咒。但是,当我转到php时,无法获得返回任何内容的信息。我尝试了几种看起来合乎逻辑的语法,但是没有尝试过。这是我现有的代码:

$handle = fopen('/foo/bar/test.log', 'w+');

fwrite($handle, "doSearch, with search term: $searchTerm\n");

$sql =

'SELECT   hs.hs_pk,

hs.hs_text,

hs.hs_did,

hd.hd_did,

hd.hd_text,

hv.hv_text,

hc.hc_text

FROM      hs

LEFT JOIN hd

ON       hs.hs_did = hd.hd_did

LEFT JOIN hd

ON       hd.hd_vid = hv.hv_id

LEFT JOIN hc

ON       hd.hd_pclass = hc.hc_id

WHERE     hs.hs_text LIKE :searchTerm

LIMIT 25';

try {

$dbh = new PDO('mysql:host=localhost;dbname=awdb', "user", "password");

fwrite($handle, "connected to DB\n");

$prep = $dbh->prepare($sql);

$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));

while ($row = $prep->fetch(PDO::FETCH_ASSOC)) {

$i++;

$result[$i]['subText'] = $row['hs_pk'];

$result[$i]['subText'] = $row['hs_text'];

$result[$i]['subDid'] = $row['hs_did'];

$result[$i]['devDid'] = $row['hd_did'];

$result[$i]['devText'] = $row['hd_text'];

$result[$i]['vendorText'] = $row['hv_text'];

$result[$i]['classText'] = $row['hc_text'];

}

$dbh = null;

}

catch (PDOException $e) {

print "Error!: " . $e->getMessage() . "
";

die();

}

我也尝试了以下操作(SQL WHERE子句和prep-> execute行已全部更改):

WHERE hs.hs_text LIKE CONCAT(\'%\', ?, \'%\')

$ret = $prep->execute(array($searchTerm));

WHERE hs.hs_text LIKE "%:searchTerm%"

$ret = $prep->execute(array(':searchTerm' => $searchTerm));

WHERE hs.hs_text LIKE ":searchTerm"

$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

等等...

pdo mysql like_PHP PDO准备的语句-MySQL LIKE查询相关推荐

  1. 55:Mysql用户管理|常用sql语句|mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> 1.Mysql用户管理: 场景,为了安全,新建的站点,创建新的用户,或者给已有用户授权,对某个库或者某个表有权限: 语法: g ...

  2. MySQL 数据库 之 高级 SQL 语句(常用查询,正则表达式,运算符,库函数,存储过程)

    文章目录 前言 一 . 常用查询介绍 1.按关键字排序 1.1默认升序 1.2 降序 1.3 多字段的排序 2. 对结果进行分组 2.1 分组统计 3.限制结果条目 3.1 查看前4行 3.2 查看第 ...

  3. mysql 博客建表语句,mysql建表语句

    mysql建表语句 (2012-08-07 13:25:20) 标签: 杂谈 create table messages( id int unsigned primary key auto_incre ...

  4. MySQL 中 delete where in 语句的子查询限制

    根据ID删除数据,代码如下: DELETE FROMt_swcas_db_sync_send_task WHEREid IN (SELECTb.id AS idFROMt_swcas_db_old_p ...

  5. mysql创建用户表的sql语句,mysql创建表的sql语句

    mysql 动态sql语句,如何用一款小工具大大加速MySQL SQL语句优化(附源,mysql分页查询sql语句,mysql创建表的sql语句 mysql建表语句_计算机软件及应用_IT/计算机_专 ...

  6. egg mysql 模糊搜索_使用egg-mysql操作mysql数据库

    1.安装mysql npm i egg-mysql -S 2.在config/plugin.js里声明改插件 exports.mysql = { enable: true, package: 'egg ...

  7. php mysql 替换 pdo,php操作MySQL数据库之PDO方式

    这篇文章主要介绍了关于php操作MySQL数据库之PDO方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下基本使用 1)连接数据库$pdo = new PDO("mysql ...

  8. php pdo mysql 乱码,php pdo连接数据库 解决中文乱码问题(wordpress mysql 问号?? ??)...

    摘要:PHP 用pdo连接数据库时出现中文乱码问题解决办法1.array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"), ...

  9. PHP+MySql+PDO实现简单增加、删除、修改、查询

    最近学习中要使用PHP+MySql实现表单的增加.删除.修改.查询,看了很多简单案例后,写了一个简单的表单,下面请看代码,有错误的地方希望大佬们指教! 数据库名itcast , 表名emp_info ...

最新文章

  1. leetcode 438. Find All Anagrams in a String 滑动窗口法
  2. 喜闻乐见的const int *p、int* const p、const int* const p
  3. css案例学习之继承关系
  4. html gridview绑定数据,winform,devexpress GridControl中GridView数据绑定
  5. linux双网卡架设FTP,LINUX系统上架设FTP服务器
  6. 函数内联inline
  7. freebsd下安装php-intl扩展
  8. Ant Design Vue - 修改<Table>表格组件默认的暂无数据图标(自定义表格空数据状态图片)
  9. oracle 物化视图 on demand,oracle物化视图的两个典型应用场景
  10. 计算机大赛总结发言稿,学校技能比赛总结发言稿
  11. 解决Logitech G HUB卡在一直在加载问题解决方法
  12. 靶机渗透练习97-hacksudo:ProximaCentauri
  13. Tableau权限设置
  14. 百度文库推广怎么做-百度文库推广技巧
  15. l7sa008b故障代码_奥克斯空调故障显示代码E1E2E3E4E5E6E7E8E9
  16. 八个超赞的两轮平衡小车设计,小白最爱
  17. java 排序算法之快速排序(挖坑法)
  18. 安全的即时沟通软件主要表现在哪些方面
  19. websocket 的客户端 websocket-sharp
  20. The Cisco Systems,Inc. Service has not been started. Please start this service and try again.

热门文章

  1. Winform中FormClosing与FormClosed区别与使用
  2. c#事件,委托机制(转)
  3. .NET(C#)连接各类数据库
  4. IOS开发基础之屏幕组件适配添加约束
  5. Linux大文件格式,linux – 用于打印大文件的命令,按大小以人类可读的格式排序...
  6. codis配置_分布式缓存Codis集群安装手册
  7. 信息收集——网站克隆和钓鱼邮件
  8. java pdfbox2 中文乱码,如何从PDFBox 2.0.2中的PDDocument提取字体
  9. mysql 变量作用_MySQL变量的用法
  10. php tp框架做选中删除,关于thinkphp框架实现删除和批量删除的分析