小编典典

PDO UNION与?不工作

sql

我是SQL,PDO和PHP的新手,所以我知道很多人在问自己。还是没什么冒险的……我想结合两个查询的结果,并使用别名使UNION查询的列名相同。我尝试了各种减少操作,直到没有减少的余地为止,我的应用程序需要的实际结果还有很多。我有以下代码,无法考虑为什么它不起作用。

这两个查询都是独立工作的,但是当我将它们与UNION结合使用时,我什么也没得到。任何建议将是最有帮助的。

include ("conn/dbCon_1.php");
$sql= "(SELECT  First_Name AS myResult FROM tbl_User WHERE First_Name LIKE ?)";
$sql.=" UNION ALL ";
$sql.= "(SELECT Course_Title AS myResult FROM tbl_Course  WHERE Course_Title LIKE ? )";
$c1 =  "%le%";
try {
    $qResults = $dbConn->prepare($sql); 
    $qResults->execute([$c1]); 
    $qResults->fetch(PDO::FETCH_ASSOC);
    return $qResults;
    //Close connection
    $dbConn = null;
} catch(PDOExcepetion $e) {
    echo $e->getMessage();
}

非常感谢您的期待,也感谢您的关注。

布里


阅读 228

收藏
2021-05-16

共1个答案

小编典典

即使两个参数具有相同的值,您也要使用两个参数来调用查询(如第一个查询中的查询,第二个查询中的查询),因此您必须传递两个参数

$qResults->execute([$c1, $c1]);
2021-05-16