【发布时间】:2019-08-03 20:34:04
【问题描述】:
表格项目:
来源
$query = "SELECT * FROM `tbl_items` WHERE `name` LIKE '%cell%' AND `is_active`=1";
// the query is generated dynamically so i do have a dynamic params too
$params = [
'name' => '%cell%',
'is_active' => 1,
];
$prepared = $db->prepare($query);
foreach($params as $key => $val)
{
if(is_int($val))
{
$prepared->bindParam(':'.$key, $val, PDO::PARAM_INT);
}
else
{
$prepared->bindParam(':'.$key, $val);
}
}
执行时返回空结果..
不工作:
多个参数..(我手动绑定参数除外)
$prepared->bindParam(':name', $params['name']);
$prepared->bindParam(':is_active', $params['is_active']);
工作:
单参数..(它返回的正是我需要的)
现在我的问题是,在循环 bindParam() 时它返回空的原因可能是什么?
【问题讨论】:
-
对不起,我可能遗漏了一些东西,但是你绑定的参数的占位符在哪里(例如:is_active) - 我希望看到“SELECT * FROM
tbl_itemsWHEREnameLIKE '% :name%' ANDis_active= :active",但也许这是我不习惯的不同风格?您是否尝试过打印连接错误/php 错误?
标签: php database oop pdo php-7