语句不返回任何记录,尽管execute中提供了参数值



在下拉列表中使用vardump时,会出现bool(false(错误。

这是我的SQL:

SELECT w_Continent.ID, w_Continent.NAME as continent_name, w_Country.Name, w_Country.Continent 
FROM w_Continent 
JOIN w_Country ON w_Continent.ID = w_Country.Continent 
GROUP BY w_Continent.ID

这是另一个相关的PHP代码:

if (isset($_GET['country'])) {
$contQuery = "
{$sqlQ}
WHERE w_Continent.ID = ID
";
$continent = $db->prepare($contQuery);
$continent->execute(['ID' => $_GET['country']]);
$selectedCont = $continent->fetch(PDO::FETCH_ASSOC);
var_dump($selectedCont);
}

占位符以冒号:为前缀。您的查询需要有:ID才能将其用作占位符和绑定。

:告诉PDO它是一个命名的占位符,而不是查询的其他有效部分,如列名。

最新更新