2016-05-11 3 views
2

Я пытаюсь написать php-программу, которая запускает запрос и выводит файл excel. У меня большая часть работы, за исключением нескольких вопросов. У меня есть ниже запрос:PHP SQL Query Not Returning значения

#!/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); 
     } 
?> 

При запуске запроса в клиенте Белка SQL I для delvID я получаю обратно значение EE. Однако в приведенном выше php я ничего не получаю в эхо. Это происходит только для некоторых значений.

Любые идеи о том, что я делаю неправильно.

+0

Что это за 'SELECT drw.PROD_CODE delID'? Я думаю, что 'SELECT drw.PROD_CODE AS delID' –

+0

@NanaPartykar AS, похоже, не имеет значения. Я попытался добавить его на всякий случай, но я все еще ничего не получаю. – Caleb

+0

При выборе извлеченных данных сделайте 'print_r' и посмотрите, какие столбцы вы получаете. Может быть, логика 'JOIN' не выполняет то, что вы ищете. – Webeng

ответ

0

вы должны попробовать

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

с '&' до $ delvID.

Надеюсь, это поможет! Cheers, Viktor