Large binary objects in MySQL - problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux