ID: 47832 Comment by: r dot borschel at gmx dot net Reported By: r dot borschel at gmx dot net Status: Open Bug Type: PDO related Operating System: OS X 10.5.6 PHP Version: 5.3CVS-2009-03-29 (snap) New Comment:
The INSERT statement should of course read: INSERT INTO `testdb`.`cms_users` ( `id` , `status` , `username` , `name` ) VALUES (NULL , 'developer', 'romanb', 'Roman'); Previous Comments: ------------------------------------------------------------------------ [2009-03-29 20:17:04] r dot borschel at gmx dot net Description: ------------ Associative array indices are getting garbled when usind pdo_mysql when mysql & pdo_mysql were compiled against libmysql. Compiling against mysqlnd fixes the issue. Reproduce code: --------------- # # SQL # CREATE TABLE IF NOT EXISTS `cms_users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `status` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; INSERT INTO `doctrinetests`.`cms_users` ( `id` , `status` , `username` , `name` ) VALUES (NULL , 'developer', 'romanb', 'Roman'); # # PHP # $pdo = new PDO("mysql:host=localhost;dbname=testdb", "xxx", "xxx"); $stmt = $pdo->prepare("SELECT c0.id AS c0__id, c0.status AS c0__status, c0.username AS c0__username, c0.name AS c0__name FROM cms_users c0"); $stmt->execute(); while ($data = $stmt->fetch(PDO::FETCH_ASSOC)) { var_dump($data); } Expected result: ---------------- array(6) { ["c0__id"]=> string(2) "16" ["c0__status"]=> string(9) "developer" ["c0__username"]=> string(6) "romanb" ["c0__name"]=> string(5) "Roman" } Actual result: -------------- array(6) { ["c0__id"]=> string(2) "16" ["status"]=> string(9) "developer" ["c0"]=> string(6) "romanb" ["cms_users"]=> string(5) "Roman" } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47832&edit=1