A ver, dos formas de hacerlo:
devolviendo el statement
Código PHP:
Ver originalclass CnxBD
{
...
/**
* @param string $sql
* @return PDOStatement
*/
public function consultar($sql)
{
$basededatos = new PDO('mysql:host=localhost;dbname=prog_db', 'usuario', 'password');
$consulta = $basededatos->prepare($sql);
$consulta->execute();
return $consulta;
}
}
$datos = new CnxBD;
$stmt = $datos->consultar("SELECT * FROM tbl_acceso");
while ($record = $stmt->fetch(PDO::FETCH_ASSOC)) {
}
ahora retornando el resultset
Código PHP:
Ver originalclass CnxBD
{
...
/**
* @param string $sql
* @return array
*/
public function consultar($sql)
{
$basededatos = new PDO('mysql:host=localhost;dbname=prog_db', 'usuario', 'password');
$consulta = $basededatos->prepare($sql);
$consulta->execute();
return $consulta->fetchAll(PDO::FETCH_ASSOC);
}
}
$datos = new CnxBD;
$records = $datos->consultar("SELECT * FROM tbl_acceso");
foreach($records as $record) {
}
Pero te repito, que no entiendo muy bien que es lo que quieres hacer, pero tal cual esta, no es un buen planteamiento.
Saludos.