2011-03-16 31 views
1

如果包含两个select查询,那么在PDO中执行语句的结果是什么?考虑一下这个表:执行包含两个SELECT查询的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()回来吗?

+7

-1这些真的很愚蠢,“为什么你没有尝试它”。你有时间来创建这个问题,但你没有时间点击按钮来测试这个问题?这是不好的。你也说国家可以获得一些声誉,任何试图获得声誉的人都是绝望的,这个网站并不是关于帮助的。 – JonH 2011-03-16 14:12:05

+1

@JonH,我没有时间启动本地主机服务器,为测试目的创建一个MYSQL表,填充愚蠢的数据,编写一个PHP文件并自己测试。此外,这个问题真的有什么问题吗?对其他人来说不是有用吗? – Shoe 2011-03-16 14:15:03

+3

@Charlie Pigarelli - 如果有人真的需要这样的帮助,他们会发布它。但不要发布在stackoverflow的东西,以帮助人们获得rep点。这个网站上真正关心帮助的人们不关心点,他们关心技术,创新和知识。所以他们愿意帮助,不管他们赚多少分。你不想测试的原因是愚蠢的。 – JonH 2011-03-16 14:17:19

回答

2

使用多合一查询UNION ALL

像这样:

SELECT A FROM Table WHERE B > 3;  
UNION ALL 
SELECT A FROM Table WHERE B < 3; 

第一个SELECT语句返回记录D,E,F为A. 二语句返回A,B为A. 结果组合成一个单个返回

d,e,f,a,b

ñ )(只是在开玩笑)

+0

有一些观点:-P(顺便说一下,这将返回A中的所有行)。 – 2011-03-16 14:36:16

+0

@火箭除了B == 3 – 2011-03-16 14:36:52

+0

@丹尼尔:我需要更多的咖啡因...... – 2011-03-16 14:37:28

4

您正在执行的语句有2 SELECT查询,$sql->fetch()只会返回第一条语句的结果。

+0

你也可以有一些要点,它不花我任何$$$。 :) – JonH 2011-03-16 14:46:22

相关问题