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
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: nicolasperalta at bigfoot dot com
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Tue May 06 05:01:28 2025 UTC