2016-05-11 16 views
2

クエリを実行してExcelファイルに出力するPHPプログラムを作成しようとしています。私はいくつかの問題を除いてほとんどの作業を行っています。私は、以下のクエリを持っている:私はdelvID用リスSQLクライアントでクエリを実行するとPHP SQLクエリが値を返さない

#!/usr/bin/php 
<?php 
     $DB_USER=""; 
     $DB_PASS=""; 
     $DB_TNS=""; 

     $contents=""; 
     $formattedDate=date('m_d_y',strtotime("-1 days")); 
     $fileName="testDump"; 
     if($conn = oci_connect($DB_USER, $DB_PASS, $DB_TNS)) 
     { 
       $sql = 'SELECT 
           drw.PROD_CODE delID 
         FROM 
           CIRC_RPT.VW_SUBS_DRW drw 
         JOIN CIRC.SUBSCRIPTION csub on csub.ACCOUNT = drw.account 
         where delivery_pub in (1,32) and drw.account = 47059092'; 
       $stid = oci_parse($conn, $sql); 
       oci_define_by_name($stid, 'delID', $delvID); 
       oci_execute($stid); 

       $handle = fopen("/usr/local/bin/next/FILES/".$fileName.".csv", "w"); 
       fwrite($handle, "First Name,Last Name,Email,Phone,HouseNumber,DeliveryScheduleId\n"); 

       while (OCIFetch($stid)){ 
         $contents.=$delvID.","; 
         echo "delvID=".$delvID; 
         $contents=""; 
       } 
       fclose($handle); 
       oci_close($conn); 
     } 
     else 
     { 
       $e = oci_error(); 
       trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
     } 
?> 

私は値EEを取り戻します。しかし、上記のPHPでは、私はエコーに何も戻っていません。これは一部の値に対してのみ発生します。

私が間違っていることに関するアイデア。

+0

この「SELECT drw.PROD_CODE delID」とは何ですか?私は 'SELECT drw.PROD_CODE AS delID'と思っています –

+0

@NanaPartykar ASは違いを生じさせていないようです。私はちょうどそれを追加しようとしたが、私はまだ何も戻ってきていない。 – Caleb

+0

フェッチしたデータを選択するときは、 'print_r'を実行して、取得している列を確認してください。 'JOIN'ロジックがあなたが探しているものを実行していない可能性があります。 – Webeng

答えて

0

あなたは$ delvID前に '&' で

oci_define_by_name($stid, 'delID', &$delvID); 

を試してみてください。

希望すると助かります! 乾杯、 Viktor