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]