ID: 35793
Updated by: sniper@php.net
Reported By: deadman_great at mail dot ru
-Status: Open
+Status: Feedback
Bug Type: PDO related
Operating System: RH Fedora Core 2
PHP Version: 5.1.1
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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','one@test.com',NULL);
INSERT INTO orders VALUES
(7,0,9,1134522614,NULL,1,10,354354,'test2','test2','test2','12',NULL,NULL,'test2','test2','test2','two@test.com',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