2016-05-11 32 views
2

Ich versuche ein PHP-Programm zu schreiben, das eine Abfrage ausführt und an eine Excel-Datei ausgibt. Ich habe das meiste bis auf ein paar Probleme funktioniert. Ich habe die unten query:PHP SQL Query gibt keine Werte zurück

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

Wenn ich die Abfrage in Squirrel SQL Client ich für delvID laufen bekomme ich den Wert EE zurück. Im obigen php bekomme ich jedoch nichts zurück in das Echo. Dies geschieht nur für einige der Werte.

Irgendwelche Ideen, was ich falsch mache.

+0

Was ist das "SELECT DRw.PROD_CODE delID"? Ich denke 'SELECT drw.PROD_CODE AS delID' –

+0

@NanaPartykar der AS scheint keinen Unterschied zu machen. Ich habe versucht, es hinzuzufügen, nur für den Fall, aber ich bekomme immer noch nichts zurück. – Caleb

+0

Wenn Sie die abgerufenen Daten auswählen, führen Sie eine 'print_r' durch und sehen Sie, welche Spalten Sie erhalten. Es könnte sein, dass die Logik 'JOIN' nicht ausführt, wonach Sie suchen. – Webeng

Antwort

0

sollten Sie

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

mit einem '&' vor $ delvID versuchen.

Hoffe es hilft! Prost, Viktor

Verwandte Themen