ID:               34964
 Updated by:       [EMAIL PROTECTED]
 Reported By:      akorthaus at web dot de
-Status:           Open
+Status:           Bogus
 Bug Type:         PDO related
-Operating System: all
+Operating System: *
-PHP Version:      5.0.5
+PHP Version:      5.*
-Assigned To:      
+Assigned To:      wez
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

The MySql driver uses the old mysql protocol which is not capable of
this. We need someone to write a mysqlI driver and may want to find a
way to issue an error if used like this.


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

[2005-10-24 04:05:06] akorthaus at web dot de

that's how this problem could also look like:

<?php
$db = new PDO('...');

$stmt = $db->query('SELECT * FROM table1');
var_dump($stmt);

$stmt = $db->query('SELECT * FROM table2');
var_dump($stmt);

$stmt = $db->query('SELECT * FROM table3');
var_dump($stmt);
?>

output:
-------------------------
object(PDOStatement)#2 ...
bool(false)
object(PDOStatement)#2 ...


Only if I do this:

<?php
$db = new PDO('...');

$stmt = $db->query('SELECT * FROM table1');
var_dump($stmt);
$stmt = NULL;

$stmt = $db->query('SELECT * FROM table2');
var_dump($stmt);
$stmt = NULL;

$stmt = $db->query('SELECT * FROM table3');
var_dump($stmt);
$stmt = NULL;
?>

output:
-------------------------
object(PDOStatement)#2 ...
object(PDOStatement)#2 ...
object(PDOStatement)#2 ...

This seems to work. But should this really be the way to go? I hope
it's a but ;-)

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

[2005-10-24 03:52:50] akorthaus at web dot de

Description:
------------
If I want to use PDO::query() more than one time in a script, I have to
set the last PDOStatement to NULL, before I can use the second query.
Only If I add:

$stmt1 = NULL;

before

$stmt2 = $db->query ...

in the example below, I can work with the second query. 

But - how can I work with two statments at the same time? I often have
to do this! I don't understand it because I use two different variables
for the statements here.

I have used the pdo_mysql driver (MySQL 4.1.14), pdo and pdo_mysql were
compiled from latest CVS.

Reproduce code:
---------------
<?php
$db = new PDO('...');

$stmt1 = $db->query('SELECT * FROM table1');
var_dump($stmt1);

$stmt2 = $db->query('SELECT * FROM table2');
var_dump($stmt1);
?>

Expected result:
----------------
object(PDOStatement)#2 ...
object(PDOStatement)#2 ...

Actual result:
--------------
object(PDOStatement)#2 ...
bool(false)


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


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

Reply via email to