我是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();
}
非常感谢您的期待并感谢您的关注。
业务收益指数
答案 0 :(得分:2)
由于你有两个占位符 - 你应该绑定值两次:
$qResults->execute([$c1, $c1]);
答案 1 :(得分:1)
您使用两个参数调用查询(例如在第一个查询中,在第二个查询中调用,即使它们具有相同的值),因此您必须传递两个参数
$qResults->execute([$c1, $c1]);