php.net |  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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: atila at nutroeste dot com dot br
New email:
PHP Version: OS:

 

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

    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
mail: atila@nutroeste.com.br
Country Brazil
State Goias, city: Goiania
+5562-30962539/2500
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.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-02-09 21:49 UTC] johannes@php.net
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
<?php
 ini_set('display_errors', true);
 //database login
 $con=OCILogon("xxx","xxx","logix");
 //oci param 1
 $num=1579;
 //oci param 2 
 $serie=1;
 //(v_comissao is a complex view and uses union all between two  
 // similiar data structures and also takes over 12/13 secs to be    
 //proccessed)
 // 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);
 OciBindByName($sel,":num",$num);
 OciBindByName($sel,":ser",$serie);
 OCIExecute($sel);
 OciFetchStatement($sel,$resultado);
 //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] sixd@php.net
Some thoughts:
- really verify the statement should succeed and there is data in the 
table
- 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] felipe@php.net
-Status: No Feedback +Status: Feedback
 [2010-04-25 20:40 UTC] felipe@php.net
Please try using this snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/


 [2010-04-26 00:34 UTC] sixd@php.net
-Status: Feedback +Status: No Feedback
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 18:01:29 2024 UTC