ID:               35793
 Comment by:       vishalraj82 at gmail dot com
 Reported By:      deadman_great at mail dot ru
 Status:           No Feedback
 Bug Type:         PDO related
 Operating System: RH Fedora Core 2
 PHP Version:      5CVS-2005-12-25 (snap)
 Assigned To:      Wez
 New Comment:

I guess this is a problem with pdo.
When you connect to localhost using pdo, fire a query and store the
result in variable, the variable needs to be reset before it can be
reused, given that mysql resids on a remote server and not on
localhost.

$conn = new PDO("localhost"....
$sql1 = "SELECT * from TEST";
$res = $conn->query($sql1);
...
...


$sql2 = "SELECT * from MYTAB";
$res = $conn->query($sql2); // In this line you will get mysql general
error if $res has not been reset before being used again


Previous Comments:
------------------------------------------------------------------------

[2008-08-19 16:06:01] baptiste dot place at utopiaweb dot fr

Got the same error with second statement of a function.
Worked fine on winXP xampp, PHP 5.2.6, MySql 5.0.51b.

Deployed on a debian server with PHP 5.2.0-8 and MySQL 5.0.32, the code
threw this error.

Made it work with michal vrchota's solution, thanks a lot.

------------------------------------------------------------------------

[2008-03-19 16:40:26] ob dot php at daevel dot fr

This bug/problem is not solved with PHP 5.2.0 under Debian stable
(etch).

Full code :
<?php
$db = new pdo( 'mysql:host=localhost;dbname=admin', 'administration',
'XXX' );
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );

if( ( $res = $db->query( 'select id from user_group' ) ) !== false )
{
        print_r( $res->fetchAll() );
}

if( ( $res = $db->query( 'select description from user_group' ) ) !==
false )
{
        print_r( $res->fetchAll() );
}
?>

And result for the second query :
Warning: PDOStatement::fetchAll(): SQLSTATE[HY000]: General error: 2050
 in /home/dev-olivier/toutgagner.admin/test.php on line 14
Array
(
)

Won't it be fixed ?

------------------------------------------------------------------------

[2006-12-28 01:22:18] dennis at inmarket dot lviv dot ua

Remember to have these "fixes" in your code on every connection you
might have to the same database.

------------------------------------------------------------------------

[2006-11-03 08:53:42] arnaud dot lb at gmail dot com

I have the same problem with php-5.2, mysql-5.0.26 on 
Debian system.

Fixed the problem using the 
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY option.

It seems that closeCursor() does not works properly.

------------------------------------------------------------------------

[2006-11-01 15:11:55] richard at phase dot org

$this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

(a suggested fix above) fails on 5.2.RC6 as PDO::ATTR_EMULATE_PREPARES
appears no longer to be defined.

------------------------------------------------------------------------

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/35793

-- 
Edit this bug report at http://bugs.php.net/?id=35793&edit=1

Reply via email to