Edit report at http://bugs.php.net/bug.php?id=50978&edit=1

 ID:               50978
 Updated by:       [email protected]
 Reported by:      atila at nutroeste dot com dot br
 Summary:           OciFetchStatement
-Status:           No Feedback
+Status:           Feedback
 Type:             Bug
 Package:          OCI8 related
 Operating System: RHEL 5.2 64 BITS
 PHP Version:      5.2.12
 Assigned To:      sixd

 New Comment:

Please try using this snapshot:

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

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




Previous Comments:
------------------------------------------------------------------------
[2010-02-18 01:00:01] 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-02-10 21:44:59] [email protected]

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-10 12:53:33] 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-09 21:49:58] [email protected]

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-09 20:13:21] 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: [email protected]

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.



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=50978&edit=1

Reply via email to