|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #50978 OciFetchStatement
Submitted: 2010-02-09 20:13 UTC Modified: 2010-04-26 00:34 UTC
From: atila at nutroeste dot com dot br Assigned: sixd (profile)
Status: No Feedback Package: OCI8 related
PHP Version: 5.2.12 OS: RHEL 5.2 64 BITS
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2010-02-09 20:13 UTC] atila at nutroeste dot com dot br

    The function is  OciFetchStatement.

    Since I have more than 2 times the same problem, and the task to resolve this was to hard. I have to report that every time I use a complex sql using operator union or union all, the return message is

Notice: Undefined offset: 0 in /usr/local/apache/html/pedidos/teste_union.php on line 19
numero de linhas:

    As you can see the "Undefined offset: 0" means that there is no record to be retrived from a query, but if I run this same query using my database tool, a result could be seen.

    To resolve this I had to create temporary tables to insert the
data into it's own structure using my sql union/union all query to became only one table and force the OciFetchStatement to retrive the results I wanted.   
    My database is Oracle 10.2.04 running on Linux rhel 5.2 64bits.
    My php version is source 5.2.9 running in the same host.

Thanks an advance

Atila Santos
Country Brazil
State Goias, city: Goiania
System Analist/Dba Oracle/Web Developer 

Reproduce code:
Notice: Undefined offset: 0 in /usr/local/apache/html/pedidos/teste_union.php on line 19

Expected result:
The result should bring me up values of rows.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2010-02-09 21:49 UTC]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.

 [2010-02-10 12:53 UTC] atila at nutroeste dot com dot br
 ini_set('display_errors', true);
 //database login
 //oci param 1
 //oci param 2 
 //(v_comissao is a complex view and uses union all between two  
 // similiar data structures and also takes over 12/13 secs to be    
 // What you can do is create a union sql between 2 structures and    
 //apply it into "$sentenca", variable, with or without params. 
 $sentenca="select v.*,i.den_item from v_comissao v,item i
              where v.cod_item=i.cod_item
              and v.num_nff =:num
              and v.serie=:ser";
 $sel = OCIParse($con, $sentenca);
 //return $resultado;
 echo 'rows number:'.count($resultado["DEN_ITEM"][0]);

  Sorry if I wasn't clear enough,and if you want I could give you accesses do my server by Terminal Server, to see the real sql.
please be comfortable to contact me by e-mail, and anything to help you to resolve this please!!! ask me. Because my transactional system has been passed by a lot o changes and I had to create a lot of union's between what I had and the customizations I have now.

Thanks a Lot for your attention

Atila Santos
 [2010-02-10 21:44 UTC]
Some thoughts:
- really verify the statement should succeed and there is data in the 
- echo the statement out and make sure there are no syntax errors
- add error checking to your OCI calls
- make sure the table is not being modified (e.g columns added or data 
removed) by another job
- after getting the error, verify your script runs with command line 
PHP (instead of using a DB tool)

 [2010-02-18 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2010-04-25 20:40 UTC]
-Status: No Feedback +Status: Feedback
 [2010-04-25 20:40 UTC]
Please try using this snapshot:
For Windows:

 [2010-04-26 00:34 UTC]
-Status: Feedback +Status: No Feedback
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Jul 23 06:01:30 2024 UTC