2011-10-25 9 views
0

私はmysql_fetch_array()を使用しており、phpMyAdminでクエリをテストしています。そして、私は彼らが両方とも同じ列にあると思ったので、mysql fetch array()を使ってこれを行うことは可能ですか?ここで PHPでSQLユニオンの値を区切る方法

は私のコードです:

$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を使用してこれを実行し、それは働いた。しかし私はその結果を私のディスプレイに表示したいと思います。彼らが同じ列にいても私はそれをすることができますか?フェッチ欄のようなものはありますか?

答えて

5

あなたはこのようなクエリがある場合:

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 ... 

カラム名/エイリアスとタイプが一致している限り、この種のことに満足できます。