gpt4 book ai didi

php - MYSQL PHP PDO - 即时添加 WHERE PlaceHolder 子句

转载 作者:行者123 更新时间:2023-11-29 03:56:29 24 4
gpt4 key购买 nike

我需要在 PDO 中插入一个 MySQL WHERE 条件作为占位符。条件取决于您对性别的偏好(社交网站)- 下面创建 WHERE 条件代码:

    if($_SESSION['interestedMales'] && $_SESSION['interestedFemales']) {
return '(a.profile_gender=0 OR a.profile_gender=1)';
}elseif($_SESSION['interestedMales']) {
return '(a.profile_gender=1)';
}elseif($_SESSION['interestedFemales']) {
return '(a.profile_gender=0)';
}else{
return '(a.profile_gender='.$_SESSION['gender'].')';
}

返回变量 - $pdoGenderCondition

接下来我将其添加到 PHP PDO 语句中:

    $sql='SELECT a.userinfo
FROM login AS a
WHERE a.photoidvisible=1 AND ? LIMIT 9;';
echo $sql;
$pds=$database_users->pdo->prepare($sql); $pds->execute(array($pdoGenderCondition)); $rows=$pds->fetchAll();

我在哪里运行它,我没有得到任何结果。

如果我直接将 $pdoGenderCondition 放入 PHP PDO 语句中,它就可以工作。

我猜你不能立即将这种 WHERE 子句放入 PDO,但我相信我以前见过它。

我可以使用多个 SELECT 语句,但更愿意使用一个。

如有任何建议,我们将不胜感激。

谢谢亚当

最佳答案

你不能那样做。

占位符只能用于传递参数。就是这样 - 没有表达式,没有数据库对象名称(表、列、别名、存储过程……),只有文字值。

关于php - MYSQL PHP PDO - 即时添加 WHERE PlaceHolder 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21271165/

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