ID: 28314 User updated by: adamh at densi dot com Reported By: adamh at densi dot com Status: Bogus Bug Type: Sybase-ct (ctlib) related Operating System: Linux PHP Version: 4.3.4 New Comment:
Yes, obviously I can use mssql_* functions using FreeTDS. But I can *also* use them with --with-sybase-ct. When I use them with SybaseCT, they do not behave as documented. To me, the FreeTDS argument sounds like, "If you've found a bug in strlen() with uClibc, you can use glibc instead." And yes, I can, but that doesn't mean uClibc doesn't have a bug. This seems so clear-cut to me I know I must be missing something. Why is this not a bug? Previous Comments: ------------------------------------------------------------------------ [2004-05-07 23:46:36] [EMAIL PROTECTED] If you want to use the mssql_* functions you can use the --with-mssql option. This requires FreeTDS. ------------------------------------------------------------------------ [2004-05-07 18:16:19] adamh at densi dot com I'm delving into the source, so please correct me if I err: Inside the source, sybase_fetch_array() and sybase_fetch_assoc() both call php_sybase_fetch_hash(), in exactly the same manner as php_mssql_fetch_hash(). In other words, mssql_fetch_assoc($r) (the "real" one) is equivalent to mssql_fetch_array($r, MSSQL_ASSOC) internally, since both functions call php_mssql_fetch_hash() with different arguments. I see a direct parallel to Sybase_ct's php_sybase_fetch_hash(), with two differences: 1. php_sybase_fetch_hash() doesn't parse for the possible second argument. 2. MSSQL_ASSOC is not defined. However, both of these issues are trivial to resolve, aren't they? It seems to me that sybase_ct should conform to mssql on commonly used, well-documented functions. ------------------------------------------------------------------------ [2004-05-07 18:02:50] [EMAIL PROTECTED] The MSSQL_ASSOC constant is ONLY defined by the mssql extension. The sybase extension does not define this constant because sybase_fetch_array() (on which mssql_fetch_array()) is based on in sybase* extension does not support this feature. You should instead be using the sybase_fetch_assoc() function. ------------------------------------------------------------------------ [2004-05-07 17:57:43] adamh at densi dot com I respectfully disagree. Sybase_ct gives access to the mssql_fetch_array() function and yet the function does *not* follow the documentation. This is obviously a bug in sybase_ct! php -m does not show mssql; however, it does show sybase_ct. And mssql_fetch_array() is defined and works... but not the way it is supposed to. ------------------------------------------------------------------------ [2004-05-07 17:47:39] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Thank you for your interest in PHP. Sounds like you don't actually load the sybase extensions. Make sure that php -m shows "mssql". ------------------------------------------------------------------------ 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/28314 -- Edit this bug report at http://bugs.php.net/?id=28314&edit=1
