执行包含两个 SELECT 查询的 PDO 语句的结果是什么?
如果 PDO 中的语句包含两个选择查询,执行该语句的结果是什么?考虑这个表:
A B
------
a 1
b 2
c 3
d 4
e 5
f 6
以及这个 PDO 查询:
$sql = $pdo->prepare("
SELECT A FROM Table WHERE B > 3;
SELECT A FROM Table WHERE B < 3;
");
$sql->execute();
$sql->fetchAll()
将返回什么?
What is the result of executing a statement in PDO if it contains two select queries? Consider this table:
A B
------
a 1
b 2
c 3
d 4
e 5
f 6
and this PDO query:
$sql = $pdo->prepare("
SELECT A FROM Table WHERE B > 3;
SELECT A FROM Table WHERE B < 3;
");
$sql->execute();
What will $sql->fetchAll()
return?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在执行包含 2 个
SELECT
查询的语句,$sql->fetch()
将仅返回第一个语句的结果。You are executing a statement with 2
SELECT
queries,$sql->fetch()
will return the results from the 1st statement only.使用
UNION ALL
组合查询,如下所示:
第一个 select 语句返回 A 的记录 d、e、f。
第二条语句返回 A 的 a,b。
结果被组合成一个单一的返回
d,e,f,a,b
现在我可以表达我的观点了;)(开个玩笑)
Combine queries using
UNION ALL
Like so:
First select statement returns the records d,e,f for A.
Second statement returns a,b for A.
The result is combined into one single return
d,e,f,a,b
Now can I have my points ;) (just kidding)