我正在使用mysql_fetch_array()
来执行此操作,并通过phpMyAdmin测试我的查询。而且,正如我认为它们都在同一行上一样,是否可以使用mysql fetch array()
来做到这一点?
这是我的代码:
$sql="SELECT xml FROM g2s_api_logs WHERE functioncode='MQX' AND cardnumber= '$cardnumber' AND
direction='out' AND date(datetime)='$date' AND time(datetime)='$time' UNION SELECT xml FROM
g2s_api_logs WHERE functioncode='MQX' AND cardnumber= '$cardnumber' AND direction='in' AND
date(datetime)='$date' AND time(datetime)='$time' ";
$query= mysql_query($sql)or die(mysql_error().$sql);
$array=mysql_fetch_array($query,MYSQL_ASSOC);
$result= htmlspecialchars($array['?']);
$response=htmlspecialchars($array['?']);
mysql_close();
请忽略问号;我不知道该放什么。我使用phpMyAdmin运行了它,并且它起作用了。但是,我想在我的显示器中将其结果分开。即使他们在同一行中,我也可以这样做吗?是否有获取列之类的东西?
最佳答案
如果您有这样的查询:
select * from X where ...
union
select * from Y where ...
并且您想知道某个特定的行是否来自X或Y,那么您可以向SELECT子句添加一个文字值以区分它们:
select 'X' as came_from, * from X where ...
union all
select 'Y' as came_from, * from Y where ...
只要列名/别名和类型匹配,UNION都会对这种事情感到满意。