ID: 13783
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Analyzed
Bug Type: ODBC related
Operating System: SCO Openserver 5.0.5 & RH Lnux 7
PHP Version: 4.0.6
Old Assigned To: ahill
Assigned To: 
New Comment:

A correction to my previous information:

The piece I commented out was in the php_opdbc.h file and was a reference to iodbc.h.  
This file is not present in the V4 ODBCSDK.

I am unable to determine exactly which version of the SDK is being used as the 
Openlink ODBCSDK files have no version numbers anywhere.

However....

I have gone back to what I had with the Openlink 3.2 drivers (and put back the iodbc.h 
line).  The same thing happens regarding the sql query containing a (').

However....

The Openlink team suggested a series of changes including using odbc_prepare.

Using 3.2 and 4.1 the following works.
$sql="SELECT ID,Category,description FROM card_type WHERE description=?";
$results = odbc_prepare($conn,$sql);
$parms=array("PEPPERELL'S");
odbc_execute($results,$parms);
if ($results) {
  while (odbc_fetch_into($results,$row)) {
    echo $row[0]." ".$row[1]." ".$row[2]."<BR>";
  }
}

I still think it has to be a bug with on the PHP side to do with how PHP parses the 
$sql contents, that is resulting in a syntax error in the SQL statement passed to 
Openlink.

According to the Microsoft ODBC SDK, error 37000 is remapped to 42000 which says:

42000: *StatementText contained an SQL statement that was not preparable or contained 
a syntax error. 
The user did not have permission to execute the SQL statement contained in 
*StatementText.

This is definitely not a permission issue.

Openlink alse mentioned changes to disable the use of DYNAMIC_CURSOR.  As I currently 
can make the queries I need (so far), I will carry on with what I have.


Previous Comments:
------------------------------------------------------------------------

[2001-10-23 10:10:12] [EMAIL PROTECTED]

The current SDK version is 3.0.5 and isql.h is included in it. Please get the SDK from 
either www.openlinksw.com or www.iodbc.org and recompile without commenting out the 
references.

Best regards,
Andrew Hill
OpenLink Software


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

[2001-10-22 20:59:00] [EMAIL PROTECTED]

No errors at all, just returns an empty recordset.

One probably important note.  When I compiled PHP 4.0.6 I had to remove the reference 
to isql.h? in the php_odbc source program as it wasn't in the Openlink SDK for 
Openlink 4.1.

Everything seems to work except the selected record stuff which hasn't ever worked for 
me using PHP 4 against Openlink.

I think I had it working under PHP 3.0.15 against Openlink 3.2, but we have moved on 
since then.

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

[2001-10-22 20:56:36] [EMAIL PROTECTED]

Using odbc_fetch_into($id, $number, $result_array);

SQLAllocHandle ( ... )
SQL_SUCCESS

SQLSetStmtAttr ( ... )
SQL_SUCCESS

SQLAllocHandle ( ... )
SQL_SUCCESS

SQLDriverConnect ( ... )
SQL_SUCCESS

SQLGetInfo ( ... )
SQL_SUCCESS

SQLGetInfo ( ... )
SQL_SUCCESS

SQLAllocHandle ( ... )
SQL_SUCCESS

SQLGetStmtAttr ( ... )
SQL_SUCCESS

SQLGetStmtAttr ( ... )
SQL_SUCCESS

SQLGetStmtAttr ( ... )
SQL_SUCCESS

SQLGetStmtAttr ( ... )
SQL_SUCCESS

SQLGetInfo ( ... )
SQL_SUCCESS

SQLSetStmtAttr ( ... )
SQL_SUCCESS

SQLExecDirect ( ... )
SQL_SUCCESS

SQLNumResultCols ( ... )
SQL_SUCCESS

SQLNumResultCols ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLColAttribute ( ... )
SQL_SUCCESS

SQLBindCol ( ... )
SQL_SUCCESS

SQLExtendedFetch ( ... )
SQL_SUCCESS

SQLExtendedFetch ( ... )
SQL_ERROR

SQLFreeHandle ( ... )
SQL_SUCCESS

SQLDisconnect ( ... )
SQL_SUCCESS

SQLFreeHandle ( ... )
SQL_SUCCESS

SQLFreeHandle ( ... )
SQL_SUCCESS


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

[2001-10-22 10:31:58] [EMAIL PROTECTED]

Status -> Feedback

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

[2001-10-22 09:38:15] [EMAIL PROTECTED]

Are you getting error messages?

Also, please generate an odbc trace; uncomment the DebugFile section in odbc.ini.

Best regards,
Andrew Hill
OpenLink Software

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/?id=13783


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


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to