PDO UNION用?不工作

时间:2016-10-08 14:20:53

标签: php mysql sql pdo union

我是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();
}

非常感谢您的期待并感谢您的关注。

业务收益指数

2 个答案:

答案 0 :(得分:2)

由于你有两个占位符 - 你应该绑定值两次

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

答案 1 :(得分:1)

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

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