Te pongo un ejemplo de lo que yo hago.
Por un lado defino un modelo:
Código PHP:
class cliente
{
public $codigo;
public $nombre;
public $nif;
public function guardar()
{
//...
}
}
Ahora un ejemplo de consulta de un solo elemento:
Código PHP:
// Doy por supuesto que $conn es una instancia de PDO
$codigo = 3;
$conn->query("select codigo, nombre, nif from clientes where codigo = $codigo");
$objCliente = $conn->fetch(PDO::FETCH_CLASS, "cliente");
Y voilá, tenemos una instancia de cliente rellena.
También vale para sacar listados:
Código PHP:
// Doy por supuesto que $conn es una instancia de PDO
$nombre = "luis";
$conn->query("select codigo, nombre, nif from clientes where nombre like '%$nombre%'");
$objClientes = $conn->fetchAll(PDO::FETCH_CLASS, "cliente");
Y tenemos un array de objetos de clase cliente, así que podemos hacer algo así:
Código PHP:
foreach ($objClientes as $cliente)
{
$cliente->nombre = strtoupper($cliente->nombre);
$cliente->guardar();
}