Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2010, 08:25
dulcineamr
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Información PEAR DB Error: not found

Hola a todos! Me pasa una cosa muy curiosa y por más vueltas que le doy no encuentro la solución.

Utilizo Xampp + php + PEAR.

Me he creado una libreria que se llama libreriaSQL.php que utiliza funciones PEAR para poder acceder a la BD. Un ejemplo de código de esta libreria es:

Código PHP:
require_once 'DB.php'
Function 
connectBD($sgbd='mysql'$user='root'$server='localhost'$database='prueba')
{
    
//CREO CADENA DE CONEXION
    
$dsn = array(
        
'phptype'  => $sgbd,
        
'username' => $user,
        
'hostspec' => $server,
        
'database' => $database,
    );

    
//ME CONECTO
    
$dbh DB::connect($dsn);
ECHO 
$dbh;

    
//COMPRUEBO SI HA HABIDO UN ERROR DE CONEXION
    
if (PEAR::isError($dbh)) 
        die(
$db->getMessage());

    return 
$dbh;

Y luego tengo un archivo que utiliza esa libreria "prueba.php"

Código PHP:
include("libreriaSQL.php");
$db=connectBD('mysql','root''localhost''NombredemiBd'); 
Si tengo esa libreria (libreriaSQL.php)y ese archivo ("prueba.php")en : "Xampp\htdocs\" funciona perfectamente.

En el momento que traslado esos dos archivos a una subcarpeta, por ejemplo.

El archivo prueba.php lo tengo en: Xampp\htdocs\miWeb\prueba.php con el siguiente codigo.

Código PHP:
include("librerias/sql/libreriaSQL.php");
$db=connectBD('mysql','root''localhost''NombredemiBd'); 
Y la libreria la tengo en: Xampp\htdocs\miWeb\librerias\sql\libreriaSQL.php

Al ejecutar la web me sale el siguiente error:
DB Error: not found
Fatal error: Call to a member function getMessage() on a non-objec
.

He pensado que podria ser problema de la configuración del php, asi que me he ido a php.ini y he cambiado esta linea.

include_path = ".;F:\xampp\php\PEAR"

por esta

include_path = ".;F:\xampp\htdocs\miWeb\librerias\sql\PEAR"

Pero sigue saliendo el mismo error, el código de los dos archivos es el mismo, lo único que cambia son las rutas.

Alguna idea?
Gracias de antemano!