php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11595 Error in the migration PHP3 to PHP4 with OpenLink-ODBC drive
Submitted: 2001-06-20 18:27 UTC Modified: 2001-10-29 08:28 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: nicolasperalta at bigfoot dot com Assigned: ahill (profile)
Status: Closed Package: ODBC related
PHP Version: 4.0.4pl1 OS: Solaris 2.7
Private report: No CVE-ID: None
 [2001-06-20 18:27 UTC] nicolasperalta at bigfoot dot com
When I migrated from PHP3 to PHP4 this script didn't work any more.
I don't have connection problems and the error appears just in some cases. 
The following is an ad-hoc script that reproduce the odbc error. 

// PHP Version 4.0.4pl1
// OS: Solaris 2.7
// Driver: ODBC-Openlink multi-tier 3.2
// this connection works fine.

  $conn_id = odbc_connect("Driver=/psitio/openlink/odbcsdk/lib/oplodbc.so.1;Host=sql02.local;SVT=SQLServer 7;UID=batalla_web;PWD=mundial86;DATABASE=elsitiodb2;FetchBufferSize=40000","","");

  echo "my connection $conn_id<BR>";

  $qry = "SELECT P.* FROM REAL_CAT_PADRE P WHERE IDIOMA = '" . $idioma . "' "
                        . "AND P.ID_PADRE IN (SELECT H.ID_HIJO FROM REAL_CAT_HIJO H WHERE "
                        . " H.ID_PADRE = '" . $cat . "') ";

  // this query works.
  $qry = "SELECT * FROM REAL_CAT_HIJO";

  // this query doesn't work IN PHP4 but works fine in PHP3 with the same ODBC-OPENLINK drive(??).
  $qry = "SELECT idvalor,Valor,Tipo_rango FROM Fot_atributo_valor WHERE idcanal=41 AND idaplic=1 AND idatrib=2 ORDER BY idvalor";

  $res_id = odbc_prepare($conn_id,$qry);

  // the error occur in this code line (IN PHP4).
  $result = odbc_execute($res_id);


Thanks in advance.

Nico.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-06-21 09:50 UTC] ahill@php.net
Nico,

What error to you show?

Best regards,
Andrew Hill
OpenLink Software
 [2001-06-21 11:10 UTC] kalowsky@php.net
marking as feedback until user responds...
 [2001-06-21 11:13 UTC] nicolasperalta at bigfoot dot com
Sorry,
message error:

Warning: SQL error: [OpenLink][ODBC][Driver]General error, SQL state S1000 in SQLPrepare in /psitio/multihomed/www.elsitio.com/pub/cgi-bin/gl/av/player/test.php3 on line 19

The most strange is that I reduce the query string "SELECT P.* FROM REAL_CAT_PADRE P WHERE IDIOMA = 'C' AND P.ID_PADRE IN ( SELECT ID_HIJO FROM REAL_CAT_HIJO )" to "SELECT P.* FROM REAL_CAT_PADRE P WHERE IDIOMA = 'C'" it works fine IN PHP4...

I don't know is very strange.


Nico.
 [2001-06-26 17:59 UTC] kalowsky@php.net
assigning to ahill as he knows openlink best :)
 [2001-07-09 16:08 UTC] ahill@php.net
Nico,

Can you please generate a trace?  I expect we will see a problem in the SQLPrepare where it's dropping your subquery.

To enable tracing, add or uncomment the following line in the $ODBCINI file:

DebugFile=/tmp/opl_debug.out

and then please paste the resultant trace in.

Best regards,
Andrew Hill
OpenLink Software 
 [2001-07-30 12:08 UTC] ahill@php.net
Hi,

Please try with 4.0.6 or submit an ODBC trace; I am unable to reproduce.

Best regards,
Andrew

 [2001-10-29 08:28 UTC] ahill@php.net
unable to duplicate, no feedback
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 15:01:28 2024 UTC