ID: 47224 Comment by: emma dot foster-bouz38wu at yopmail dot com Reported By: contact at joycebabu dot com Status: Assigned Bug Type: PDO related Operating System: Windows PHP Version: 5.3.0alpha3 Assigned To: mysql New Comment:
Reproduced with PHP5.3.1 on Windows XP 32bits. Previous Comments: ------------------------------------------------------------------------ [2009-07-31 06:31:07] nitel_defect at yahoo dot com I subscribe, the 1002 fix does not work: Windows 7 x64, PHP 5.3.0, MySQL 5.1.36 ------------------------------------------------------------------------ [2009-07-17 00:34:23] techi at techi dot name Using 1002 instead of constant does not work either. Using 5.3.0 under x64 Windows ------------------------------------------------------------------------ [2009-07-02 10:43:36] mg at artigo dot pl A temporary solution is to use INT value (1002) instead of constant. ------------------------------------------------------------------------ [2009-06-02 12:15:28] daniz at rocketmail dot com Looking into /ext/pdo_mysql/pdo_mysql.c I saw this: /* {{{ PHP_MINIT_FUNCTION */ static PHP_MINIT_FUNCTION(pdo_mysql) { #if PDO_USE_MYSQLND REGISTER_INI_ENTRIES(); #endif REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_USE_BUFFERED_QUERY", (long)PDO_MYSQL_ATTR_USE_BUFFERED_QUERY); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_LOCAL_INFILE", (long)PDO_MYSQL_ATTR_LOCAL_INFILE); #ifndef PDO_USE_MYSQLND REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MAX_BUFFER_SIZE", (long)PDO_MYSQL_ATTR_MAX_BUFFER_SIZE); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", (long)PDO_MYSQL_ATTR_INIT_COMMAND); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_FILE", (long)PDO_MYSQL_ATTR_READ_DEFAULT_FILE); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_READ_DEFAULT_GROUP", (long)PDO_MYSQL_ATTR_READ_DEFAULT_GROUP); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_COMPRESS", (long)PDO_MYSQL_ATTR_COMPRESS); #endif REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_DIRECT_QUERY", (long)PDO_MYSQL_ATTR_DIRECT_QUERY); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_FOUND_ROWS", (long)PDO_MYSQL_ATTR_FOUND_ROWS); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_IGNORE_SPACE", (long)PDO_MYSQL_ATTR_IGNORE_SPACE); #ifdef PDO_USE_MYSQLND pdo_mysqlnd_zval_cache = mysqlnd_palloc_init_cache(PDO_MYSQL_G(cache_size)); #endif return php_pdo_register_driver(&pdo_mysql_driver); } Meaning in short: if not defined "PDO_USE_MYSQLND" - REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", (long)PDO_MYSQL_ATTR_INIT_COMMAND); else don't register that class? Does it's supposed to come from somewhere else? I just moved the init_command into a simple query("SET NAMES utf8"); to get rid of the error. ------------------------------------------------------------------------ [2009-05-22 04:06:55] christian dot gahlert at web dot de Hi, I just had the same problem. It occured because I installed the PDO extension via pecl but forgot to also install PDO_MYSQL. After I installed the PDO_MYSQL everything was fine. I hope I could save someone some time :) Chris ------------------------------------------------------------------------ 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/47224 -- Edit this bug report at http://bugs.php.net/?id=47224&edit=1