gpt4 book ai didi

php - PDO 'LIKE' 查询

转载 作者:可可西里 更新时间:2023-10-31 22:16:28 26 4
gpt4 key购买 nike

由于我刚开始使用 PDO 并且在偏离简单的查询查询时遇到问题,我想我最好在这里问问。

代码:

  $sDbase = str_replace('`', '', $modx->db->config['dbase']);
$oPdo = new PDO("mysql:host=localhost;dbname=" . $sDbase . ";", $modx->db->config['user'], $modx->db->config['pass']);
$oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

if(isset($_POST["search"]))
{
$sSearch = (!empty($_POST["search"])) ? mysql_real_escape_string($_POST["search"]) : "" ;
}

$sSearch = 'beer' ;

$sQry = <<< QRY
SELECT
contentid AS standid
,value AS found
,pagetitle
,published
FROM
modx_site_tmplvar_contentvalues
RIGHT JOIN
modx_site_content
ON
modx_site_content.id = modx_site_tmplvar_contentvalues.contentid
WHERE
( tmplvarid = 41 OR tmplvarid = 40 )
AND
(value LIKE '%:search%'
OR
pagetitle LIKE '%:search%')
AND
published = '1'
ORDER BY
pagetitle
ASC
QRY;

$oRes = $oPdo->prepare( $sQry );
$oRes -> bindParam( ":search", $sSearch );
$oRes -> execute() ;

$aRow = $oRes->fetchAll();
$oRes -> closeCursor();


var_dump($aRow);

变量 $sSearch 是我想在查询中绑定(bind)到 :search 的内容。对于这个例子,我在其中设置了一个值,但显然我想用 POST 变量替换它,这就是我首先要使用 PDO 的原因。

然而,该查询已经用 $sSearch 替换为一些搜索值进行了测试并且有效,但现在我使用 PDO 执行相同的查询,但我得到一个空白结果。好吧,真的是一个空数组。

那么我在这里缺少什么?

最佳答案

根据 Amelia 的评论,答案如下:

$sSearch = '%bier%' ;

value LIKE :search

成功了。

关于php - PDO 'LIKE' 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3552506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com