php - 如何通过 PHP 分隔 SQL 联合上的值

标签 php mysql sql union

我正在使用 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/

相关文章:

mysql - SQL - 多个用户组中的用户多次返回同一用户

mysql - MySQL 中何时使用单引号、双引号和反引号

sql - 并行化 oracle 联合查询问题

php - SQL查询匹配两个字段

php - 如何覆盖 Laravel 5 中的注册功能

php - 为什么我在包含电子邮件地址的变量的 SQL 语句中出现语法错误?

javascript - 表单未提交 laravel

php - MySQL UPDATE 查询问题

java.sql.SQLException : No data found with MS Access database 异常

mysql - 如何从字符串中的第一个 Y 之后获取 X 个字符