相关疑难解决方法(0)

如何使用LIKE语句创建PDO参数化查询?

这是我的尝试:

$query = $database->prepare('SELECT * FROM table WHERE column LIKE "?%"');

$query->execute(array('value'));

while ($results = $query->fetch()) 
{
    echo $results['column'];
}
Run Code Online (Sandbox Code Playgroud)

php pdo

100
推荐指数
5
解决办法
9万
查看次数

PHP PDO编写语句 - MySQL LIKE查询

我试图通过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;
Run Code Online (Sandbox Code Playgroud)

无论我使用什么搜索词,这都像魅力一样.但是,当我转移到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 …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

40
推荐指数
1
解决办法
4万
查看次数

标签 统计

pdo ×2

php ×2

mysql ×1