Hola, no sé si esto te funcione (la de pasar variables por referencia es sacado de la documentación)
ConexionDB.class.php (se cambia el modo invocar el constructor)
Código PHP:
Ver original<?php
require_once ADODB_BASEFILE;
class ConexionDB {
public $dbLink;
public function __construct(){
$this->dbLink = &ADONewConnection(DB_TYPE); //Se pasa por referencia
$this->dbLink->SetFetchMode(ADODB_FETCH_ASSOC);
$dbconnected = $this->dbLink->PConnect(DB_HOST, DB_USER, DB_KEY, DB_DATA);
if (!$dbconnected){
Debug::println('No se pudo conectar a la Base de Datos');
}
}
function __destruct(){
}
}
?>
ProductoDAO.class.php
Código PHP:
Ver original<?php
class ProductoDAO {
public function __construct(){
}
function listar(){
$query = "SELECT id_producto, id_categoria, nombre, descripcion, precio, stock, importancia, imagen FROM producto order by id_producto";
$BD = new ConexionDB();
$recordSet = &$BD->dbLink->Execute($query); //Se pasa por referencia
if (!$recordSet){
Debug::println("No se pudo ejecutar la consulta listar: " . $query);
return false;
}
while($fila=$recordSet->FetchRow()) {
$productos[] = new ProductoVO($fila['id_producto'], $fila['id_categoria'], $fila['nombre'],
$fila['descripcion'], $fila['precio'], $fila['stock'], $fila['importancia'],
$fila['imagen']);
}
return $productos;
}
function __destruct(){
}
}
?>
Pruebalo y nos comentas como te fue
Saludos