2014-05-04 83 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