2014-05-04 84 views
0

我正在處理Oracle數據庫。
我使用PHP(OCI8 fonctions)將查詢結果導入變量。
這些變量將允許我用JavaScript庫構建圖形。在循環之外獲取while循環的結果

1)首先,我製造和執行以下查詢:

$stmt = ociparse($connection,"SELECT result FROM mytable"); 
ociexecute($stmt,$mode = OCI_COMMIT_ON_SUCCESS); 

的 「結果」 欄是由整數

2)然後,我把查詢的結果到一個數組:

$tab = array(); 
while ($data = oci_fetch_array($stmt)){ 
$tab[] = $data; 
} 

3)爲了控制,我的 「回聲」 後循環使用。例如,爲了獲得在步驟2.

echo $tab[1] 

創建的陣列的第二元件,而且我得到的錯誤:

Notice: Array to string conversion in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\test.php on line 34 
Array 

我試圖for循環來解析所述陣列的內容「標籤「但是相同的錯誤信息。

你有什麼建議嗎?謝謝 !

回答

0

可能您的$ tab [1]必須是數組而不是字符串。如果我們試圖回顯一個實際上是數組的字符串,那麼錯誤來了

Try to print_r($tab[1]); 
+0

謝謝lampdev。用那個print_r,我不再有錯誤信息。但它並不完全符合我的意願。我的結果列有以下整數:** 2112,1192,1268 **等等。當我嘗試'print_r($ tab [1]);'我得到'03'而不是'1192'。當我嘗試'print_r($ tab [0]);'我得到'1310'這對應於列「result」的最後一個值。 – Julien

+0

這是由於您在while循環$ tab []中創建的索引數組,嘗試print_r($ data)while while循環一次以獲得有關您的數組的清晰想法,或者只是嘗試在循環外嘗試print_r($ tab) – lampdev

+0

確定。這就是結果:Array([0] => 2112 [1] => 01 [2] => 2013)Array([0] => 1192 [1] => 02 [2] => 2013) Array([0] => 1205 [1] => 04 [2] => 2013)Array([0] => 954 [1] => 1268 [1] => 03 [2] => Array([0] => 1108 [1] => 06 [2] => 2013)Array([0] => 1212 [1] => 07 [2] => Array([0] => 920 [1] => 09 [2] => 2013)數組([0] => 755 [1] => 08 [2] => Array([0] => 951 [1] => 11 [2] => 2013)Array([0] => 1013 [1] => 12 [2] => 2013)等等# – Julien