Skip to content

Returning an instance of a class from PDO

PDO can create and return an object(s) of a specific class. It can be a little tricky getting it to work though…

With fetchAll() you can pass ( PDO:FETCH_CLASS, ‘class_name’ ) directly

$sql = sprintf( 'select * from %s where prod_id=:prod_id', TABLE );
$findProducts = $this->db->prepare( $sql );
$findProduct->execute();
$products = $findProducts->fetchAll( PDO::FETCH_CLASS, 'Product' );

But with fetch() you must initiate it with setFetchMode()

$sql = sprintf( 'select * from %s where prod_id=:prod_id', TABLE );
$findProduct = $this->db->prepare( $sql );
$findProduct->setFetchMode( PDO::FETCH_CLASS, 'Product' );
$findProduct->execute();
$product = $findProduct->fetch( PDO::FETCH_CLASS );

Categories: PHP.

Tags:

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.