PHP 4.0 Bug #8358: SOUNDEX, MSSQL, and EXTENDED_FETCH with OpenLink
| From: | manton at iensemble dot com | Date: | Thu, 21 Dec 2000 16:50:46 +0000 |
| Subject: | PHP 4.0 Bug #8358: SOUNDEX, MSSQL, and EXTENDED_FETCH with OpenLink | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-42060@lists.php.net to get a copy of this message | ||
From: manton@iensemble.com
Operating system: Red Hat Linux 6.2
PHP version: 4.0.4
PHP Bug Type: ODBC related
Bug description: SOUNDEX, MSSQL, and EXTENDED_FETCH with OpenLink
./configure --with-openlink=/usr/local/openlink
make
There are some queries that will not work with OpenLink/PHP4/Linux and MSSQL 7. For example, any
use of SOUNDEX() will fail, as well as odd things like if queries end in a semicolon
(";"). These exact same queries work with the "odbctest" program that ships
with OpenLink, which leads me to think it is an issue with the way PHP4 interacts with OpenLink.
This exact problem has been reported by several other people on the PHP mailing list and on the
OpenLink newsgroup servers.
resolution:
In my attempt to track down this problem, I compared php_odbc.c with what the odbctest program does.
The code is similar in some ways and not in others. After tweaking several options, I found that
if I undefine HAVE_SQL_EXTENDED_FETCH everything works great with PHP4/Openlink, including the
queries with things like SOUNDEX()/etc that would not work previously. This is also using
odbc_prepare/execute.
The only problem I've found with this change is that queries will sometimes fail if you
don't use odbc_free_result frequently.
#undef HAVE_SQL_EXTENDED_FETCH
--
Edit Bug report at: http://bugs.php.net/?id=8358&edit=1