ID: 35793 Updated by: [EMAIL PROTECTED] Reported By: deadman_great at mail dot ru -Status: Assigned +Status: Feedback Bug Type: PDO related Operating System: RH Fedora Core 2 PHP Version: 5CVS-2005-12-25 (snap) Assigned To: wez New Comment:
Almost certainly a mysql bug. Check in with the mysql bug database. Previous Comments: ------------------------------------------------------------------------ [2005-12-26 17:06:35] [EMAIL PROTECTED] Assigned to the PDO maintainer. ------------------------------------------------------------------------ [2005-12-25 19:21:12] deadman_great at mail dot ru Tried php5.1-200512251730, - same result. ------------------------------------------------------------------------ [2005-12-25 17:37:56] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.1-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.1-win32-latest.zip ------------------------------------------------------------------------ [2005-12-24 18:30:13] deadman_great at mail dot ru OK, without OO: <? $pdo = new PDO('mysql:host=localhost;dbname=mydb','login','pass'); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); function Query () { global $pdo; $query = 'SELECT `created`, to_days(from_unixtime(`created`)) as `day`,count(`id`) as `count` '. 'FROM `orders` '. 'WHERE `partner`=:partner '. 'AND `created`>=:date '. 'GROUP BY `day`'; $vars = array(':partner'=>9,':date'=>1132797644); $stm = $pdo->Prepare($query); $stm->Execute($vars); return $stm; } $result = Query(); foreach ($result as $day) { print_r($day); echo '<hr>'; } $result = Query(); foreach ($result as $day) { print_r($day); echo '<hr>'; } $result = Query(); foreach ($result as $day) { print_r($day); echo '<hr>'; } ?> SQL: CREATE TABLE `orders` ( `id` int(10) unsigned NOT NULL auto_increment, `state` tinyint(3) unsigned NOT NULL default '0', `partner` int(10) unsigned NOT NULL, `created` int(10) unsigned NOT NULL default '0', `completed` int(10) unsigned default NULL, `count` tinyint(3) unsigned NOT NULL, `cost` float(11,2) unsigned NOT NULL default '0.00', `zip` int(10) unsigned default NULL, `region` varchar(80) default NULL, `city` varchar(120) default NULL, `street` varchar(255) default NULL, `house` varchar(32) default NULL, `building` varchar(32) default NULL, `apartment` varchar(32) default NULL, `name` varchar(255) default NULL, `surname` varchar(255) default NULL, `patronymic` varchar(255) default NULL, `mail` varchar(120) default NULL, `comments` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `orders` VALUES (1,0,9,1134531133,1134931138,2,20,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `orders` VALUES (2,4,9,1134911133,1134911139,1,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `orders` VALUES (3,1,9,1134811133,1134811137,4,40,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `orders` VALUES (4,3,9,1134711133,1134711533,1,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `orders` VALUES (5,4,9,1134511131,1134511138,1,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); INSERT INTO `orders` VALUES (6,1,0,1135521534,NULL,1,10,121231,'test','test','test','12',NULL,NULL,'test','test','test','[EMAIL PROTECTED]',NULL); INSERT INTO `orders` VALUES (7,0,9,1134522614,NULL,1,10,354354,'test2','test2','test2','12',NULL,NULL,'test2','test2','test2','[EMAIL PROTECTED]',NULL); ------------------------------------------------------------------------ [2005-12-24 03:15:35] deadman_great at mail dot ru Description: ------------ Current script works fine on localhost (winxp), and throw errors on remote server (rh-fedora). Software: Local: winxp-sp2,php-5.1.1,mysql-5.0.3 Remote: fedora-c2,php-5.1.1,mysql-5.0.9 Reproduce code: --------------- $query = 'SELECT `created`, to_days(from_unixtime(`created`)) as `day`,count(`id`) as `count` FROM `orders` WHERE `partner`=:partner AND `created`>=:date GROUP BY `day`'; $vars = array(':partner'=>9,':date'=>1132797644); $stm = $pdo->Prepare($query); $result = $stm->Execute($vars); foreach ($result as $day) // LINE-123 { ... } Expected result: ---------------- Rows. Actual result: -------------- Warning: main() [function.main]: SQLSTATE[HY000]: General error: 2050 in ... on line 123 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35793&edit=1