我正在使用 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 运行这个并且它有效。但是我想在我的显示中分开他们的结果。即使他们在同一行,我也可以这样做吗?有没有fetch column之类的东西?
最佳答案
如果您有这样的查询:
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 匹配,就会对这种事情感到满意。
关于php - 如何通过 PHP 分隔 SQL 联合上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885378/