【发布时间】:2022-01-05 22:14:46
【问题描述】:
我有一个错误的 PDOStatement::execute Values with WHERE Condition & HAVING Condition in the same requette
我如何在 WHERE、HAVING 两个主题中执行准备值
$MyRequetteRecords = "
SELECT
_md_currencies._fd_currency,
(
SELECT GROUP_CONCAT( _md_tasks_level1._fd_name SEPARATOR ' + ') FROM _x_md_currencies_x_md_tasks
LEFT JOIN
_md_tasks AS _md_tasks_level1 ON
_x_md_currencies_x_md_tasks.ID_md_tasks = _md_tasks_level1.ID
WHERE _x_md_currencies_x_md_tasks.ID_md_currencies = _md_currencies.ID
) AS Many2Many_Currency
From
_md_currencies
WHERE
_md_currencies._fd_currency LIKE '% :value0 %'
HAVING
Many2Many_Currency LIKE '% :value1 %'
";
$ValueRequette=[
'value0' => 'Currency 1',
'value1' => 'Task'
];
$statement = $bdd_dataManger->prepare($MyRequetteRecords);
$statement->execute($ValueRequette);
$Record = $statement->fetchAll(\PDO::FETCH_ASSOC);
$statement->closeCursor();
错误: 参数号无效:绑定变量数与标记数不匹配
【问题讨论】:
-
请始终显示完整的错误信息,同时使用where和have没问题
-
Erreur : 无效的参数号:绑定变量的数量与标记的数量不匹配
-
只需简单地将命名占位符放在语句上,不需要引号。然后将通配符放在有效负载上(连接)