Foros del Web » Programando para Internet » PHP »

Problemas con Adodb

Estas en el tema de Problemas con Adodb en el foro de PHP en Foros del Web. Buenas!!!, verán llevo varios días dandole vueltas al paquete Adodb. Ocurre que consigo conectarme a la base de datos pero no consigo obtener un objeto ...
  #1 (permalink)  
Antiguo 15/03/2006, 11:58
 
Fecha de Ingreso: febrero-2006
Mensajes: 13
Antigüedad: 11 años, 10 meses
Puntos: 0
Problemas con Adodb

Buenas!!!, verán llevo varios días dandole vueltas al paquete Adodb. Ocurre que consigo conectarme a la base de datos pero no consigo obtener un objeto recorset cuando realizo la llamada a Execute.

Código PHP:
<?php
    
include('adodb/adodb.inc.php');
    
$conn=ADONewConnection('mysql');
    
$conn->PConnect('mysql://mysql:[email protected]/usuario');
    if (!
$conn)
        print 
"No se realizo la conexión.";
    else
    {
      echo 
"Variable datos:"."$conn";
      
$datos=$conn->Execute("SELECT * FROM usur");/*Ejecutamos el query*/
       //datos es un objeto ADOBRecordSet
                
for ($i=0;$i<4;$i++){
                  
$nombre=$datos->fields["nombre"];
                  print 
"$i.Nombre:$nombre<br/>";
                 }
      
    }
            
?>
en este trozo de código llega al for porque imprime "$i.Nombre:" cuatro veces, pero luego no imprime nada de la variable. Si ven el for tiene puesto un valor limite cuatro, cuando lo más razonable sería usar RecordCount(), pues bien al usar esta u otra función de la class ADORecordSet me da error, diciendo que no puedo realizar una llamada con un no-objeto. Entonces creo que Execute no me devuelve nada, da error, pero no sé por qué (el nombre de la tabla es 'user' e incluso le he cambiado el nombre de la tabla por ver si era algún problema del nombre). Para comprobarlo hice lo siguiente "echo $datos"; al hacerlo con $conn me indica que tiene un objeto pero con $datos lo deja en blanco (lo mismo hice realizando un condicional if(!$datos) y siempre entraba en este caso, por lo tanto $datos no tenía nada). Espero que alguien me pueda dar alguna ayuda, estoy atascado aquí y no puedo continuar, y en internet siempre me mandan a la página principal de Adodb pero allí no encuentro nada, al menos eso creo.
P.D.:Una cosa que comentar, al mirar el fichero 'adodb/adodb.inc.php' no encuentro la implementación de la class ADORecordSet, tiene esto algo que ver...
  #2 (permalink)  
Antiguo 15/03/2006, 12:31
 
Fecha de Ingreso: febrero-2006
Mensajes: 13
Antigüedad: 11 años, 10 meses
Puntos: 0
Bien aquí esta la solución al problema anterior. En realidad debería de haber buscado el problema un poco más arriba. Si creo no recordar mal, PConnect siempre devuelve un objeto por lo tanto, aunque se conecte o no a la base de datos siempre tiene algo la variable, al menos yo he probado cambiar el nombre de la database y ha seguido ejecutando el código. Ahora bien, esa forma de invocar a PConnect, es el problema, miren "conn->PConnect('mysql://mysql:[email protected]/usuario'); " si ponemos "conn->PConnect('localhost','mysql','mysql','usuario') ; " siendo respectivamente servidor, usuario, contraseña y base de dato si conseguimos el objeto ADORecordSet. Bueno, con respecto al P.D. ya he mirado y he visto que no es un problema que ADORecordSet no este en ese fichero. Jejejeje, no sé por qué pero el escribir aquí me da paso a solucionarme los problemas :P de todos modos gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.