Hi. I use PDO and have written myself a class to abstract the database a bit. It has a method for querying the database specifically for large objects, like this: $connection = $this->getConnection(); // what's returned is a PDOStatement, and a transaction is already started $statement = $connection->prepare($sql); $result = true; foreach ($parameters as $key => $parameter) $statement->bindValue($key, $parameter->value, $parameter->type); try { $result = $statement->execute(); } catch(Exception $ex) { $statement->closeCursor(); throw $ex; } if (!$result) { $statement->closeCursor(); throw new Exception("SQL statement failed: ".$sql); } $data = array(); $receiverRow = array(); $i = 0; foreach ($columns as $column => $type) { $receiverRow[$column] = NULL; // this is probably not necessary, I added it after it didn't work without, but it didn't help $statement->bindColumn($i++, &$receiverRow[$column], $type); } while ($statement->fetch(PDO::FETCH_BOUND)) { $row = array(); foreach ($columns as $column => $type) $row[$column] = $receiverRow[$column]; $data[] = $row; } $statement->closeCursor(); return $data; The problem is, after $statement-> execute() the first fetch returns false, although there's definitely a record in there - $statement->rowCount() says 1, if called before $statement->fetch(). No exception is thrown, $statement->errorInfo() and $statement->errorCode don't contain anything useful. What am I doing wrong? br, flj -- Fine counsel is confusing, but example is always clear. (Edgar A. Guest, The Light of Faith) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php