ID: 34515
Updated by: [email protected]
Reported By: jaba at inbox dot lv
Status: No Feedback
Bug Type: MySQLi related
Operating System: Debian GNU/Linux
PHP Version: 5.0.5
New Comment:
Do not use mysql 5.1 libmysql DLL with PHP. See the numerous other
reports and explainations for more details.
Previous Comments:
------------------------------------------------------------------------
[2009-03-28 14:06:00] Arvids dot Godjuks at gmail dot com
I'm having same issue with my aplication on my Windows home box.
I have Windows XP with SP3.
Apache 2.2.11:
Server version: Apache/2.2.11 (Win32)
Server built: Dec 10 2008 00:10:06
PHP 5.2.9-1 (built: Mar 5 2009 20:02:28)
And latest MySQL GA - 5.1.33
I have latest PECL pack avaliable for windows.
I'm not really familiar with debugging on windows, so you will have to
tell me what to do to get debug info.
------------------------------------------------------------------------
[2005-11-04 01:00:02] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2005-10-28 10:28:16] mark at tranchant dot plus dot com
Another data point: mysql_fetch_assoc() (the mysql extension, not the
mysqli one) works fine with similar code and calls to add_assoc_zval.
I tried "forward-porting" some of the differences to the mysqli code
but just broke it completely.
Is there an easy way to add debug printing to a log file or syslog into
the module code? I want to explore the output values from
MYSQLI_FETCH_RESOURCE(), which is different from the ZEND_FETCH_RESOURCE
used in mysql.
------------------------------------------------------------------------
[2005-10-27 20:55:32] mark at tranchant dot plus dot com
Upgraded from gcc-3.3.2 to gcc-3.4.4, completely recompiled PHP-5.0.5.
No change: bug still there.
Also tried allocating a static buffer (char tmp[64];) and strcpy'ing
fields[i].name to it, then using that in the add_assoc calls. No joy
there, either.
------------------------------------------------------------------------
[2005-10-27 16:10:31] mark at tranchant dot plus dot com
Gah. I think I've got as far as my abilities allow.
Basically, if either add_assoc_zval or add_assoc_null are called with
anything other than a static string, crash. Even:
char *tmp;
...
sprintf(tmp, "hello");
add_assoc_zval(return_value, tmp, res);
fails, although:
add_assoc_zval(return_value, "hello", res);
does not, and $array['hello'] returns the first value as expected.
There is no issue with the mysql_fetch_fields() function: the failure
occurs even with that commented out.
I've traced the code path down to _zend_hash_add_or_update(), but I
don't know enough to see any problems on the way there.
***********************************
#define add_assoc_zval(__arg, __key, __value) add_assoc_zval_ex(__arg,
__key, strlen(__key)+1, __value)
***********************************
ZEND_API int add_assoc_zval_ex(zval *arg, char *key, uint key_len, zval
*value)
{
return zend_symtable_update(Z_ARRVAL_P(arg), key, key_len, (void *)
&value, sizeof(zval *), NULL);
}
***********************************
static inline int zend_symtable_update(HashTable *ht, char *arKey, uint
nKeyLength, void *pData, uint nDa
taSize, void **pDest) \
{
HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_update(ht, idx,
pData, nDataSize, pDest));
return zend_hash_update(ht, arKey, nKeyLength, pData, nDataSize,
pDest);
}
***********************************
#define zend_hash_update(ht, arKey, nKeyLength, pData, nDataSize,
pDest) \
_zend_hash_add_or_update(ht, arKey, nKeyLength, pData, nDataSize,
pDest, HASH_UPDATE ZEND_FILE_LINE_CC)
***********************************
------------------------------------------------------------------------
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/34515
--
Edit this bug report at http://bugs.php.net/?id=34515&edit=1