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

Reply via email to