我有一个看起来像这样的查询:
$query = "SELECT icon.web_id,
image.web_id, image.base64_data,
theme.title, theme.themepath,
theme.description, filepath.filepath,
filepath.filename
FROM theme
INNER JOIN icon ON icon.fk_theme_id = theme.id
INNER JOIN filepath ON icon.fk_filepath_id = filepath.id
INNER JOIN image ON icon.fk_image_id = image.id
LEFT JOIN junction_icon_icontag ON junction_icon_icontag.fk_icon_id = icon.id
WHERE 1
" . $filepaths . "
" . $themes . "
" . $icontags . "
GROUP BY icon.id";
这些变量包含匹配标准,例如“AND (filepath = 'foo' OR filepath = 'foo2')”。
我现在想将其转换为准备好的语句。如何使用可变数量的标准?根据我在示例中看到的内容,我应该将它们替换为 ? 但是由于在构建查询之前我不知道有多少,所以我不知道我应该添加多少问号。目前我正在检查一个巨大的 switch 语句中的所有参数以验证它们。我希望 PDO 会简化这一点。