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. Saludos a todos!!!! Tengo un pequeño problema con una conexion ado a mi bd que me esta dejando sin dormir si alguien pudiera ayudarme. El ...
  #1 (permalink)  
Antiguo 17/11/2004, 02:23
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
Exclamación Problemas con ADODB

Saludos a todos!!!!

Tengo un pequeño problema con una conexion ado a mi bd que me esta dejando sin dormir si alguien pudiera ayudarme.

El problema es el siguiente quiero insertar un registro en la bd con datos de un formulario y como soy un novato en esto del ado estuve investigando y no he podido dar con la solucion

el codigo es el siguiente

Código PHP:

    $d1 
$HTTP_POST_VARS["dato1"];
    
$d2  $HTTP_POST_VARS["dato2"];
    
$d3  $HTTP_POST_VARS["dato3"]; 
    
$d4  $HTTP_POST_VARS["dato4"];     
    
$d5 $HTTP_POST_VARS["dato5"];
include(
'adodb/adodb.inc.php');
$db NewADOConnection('mysql') or die("no se pudo crear el objeto ADO");
$db->Connect("localhost""user""xxxx""midb")or die("no se pudo conectar a la base de datos");
$sql="INSERT INTO tabla(campo1,campo2,campo3,campo4,campo5,campo6) VALUES ('','$d1','$d2','$d3','$d4','$d5')";
$db->Execute($sql) or die ("error: no se insertaron los datos");
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"

El error que me aparece creo yo que es al tratar de insertarlo ya que no me deja y en este momento ya no se ni que hice que ya no despliega nada

si me pudieran hechar una mano estare muy agradecido

Saludos!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  #2 (permalink)  
Antiguo 17/11/2004, 06:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero que error te aparece?

(no he usado ADODB) .. ¿has visto si esa classe (capa de abastracción de BD's) tiene algún método para ver el error de SQL/conexión que puedas tener .. o control sobre el nivel de errores que se van a mostrar .. algún modo "debugg" que llaman otras classes de ese tipo? .. El caso es concretar el mensaje de error para ver si es de SQL, de conexión o de otro tipo.

Un saludo,
  #3 (permalink)  
Antiguo 17/11/2004, 10:54
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
Saludos Cluster!!!!!!!!!!!!!
El programa corre bien hasta que llega al $db->Execute($sql) or die ("error: no se insertaron los datos"); ahi aparece el error que pongo en el or die, creo yo que la conexion esta bien debido a que no me despliega ningun error al analizar esas lineas.

Saludos!!!!!!!!!!!!!!!!!!!!
  #4 (permalink)  
Antiguo 17/11/2004, 11:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
OK, .. pues si hay error . .ahora tocará "verlo" ..

Realmente no me he leido la documentación oficial de ADOdb .. pero revisala tu .. algún método debe existir para obtener el mensaje de error que esté arrojando actualmente .. Ese método lo puedes usar ahí en tu die() para ver el mensaje de error concreto que puedas tener.

Un saludo,
  #5 (permalink)  
Antiguo 17/11/2004, 11:52
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
Sale gracias
  #6 (permalink)  
Antiguo 17/11/2004, 12:39
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
alguien mas que pueda ayudarme o un buen tutorial de ADODB ya que en los que he visitado se enfocan muy poco al insert y mucho al select

Saludos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!
  #7 (permalink)  
Antiguo 17/11/2004, 13:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. Inmortal .. lo que tienes que enforcarte es a averigüar la forma de ver los mensajes de error que puedas tener .. que .. algún método tiene que tener.

Un saludo,
  #8 (permalink)  
Antiguo 17/11/2004, 14:14
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
dime una cosa nada mas me dices que no has manejado ADODB bueno yo creo mas que nada que el problema puede estar en la sentencia SQL checala y dime si tengo un error en la sentencia, de hecho estoy buscando alguna manera para que me despliegue los errores como me dices pero tambien quisiera la opinion esa si me puedes hacer el favor

Saludos!!!!!!!!!!!!!!!!!!!
  #9 (permalink)  
Antiguo 17/11/2004, 15:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A simple vista parece estar bien la sentencia SQL .. pero si por ejemplo tienes un problema con "indices duplicados" si usas para tu "campo1" un valor autoincremental .. así no se vé el error .. pero si que lo va a informar (y de hecho lo estará haciendo pero no lo ves) tu BD, o un error en el nombre de tus campos ...

Visité la documentación oficial .. de ADOdb .. ahí tienes un método para lo que te comentaba y ejempolos de uso:

http://adodb.sourceforge.net/

Código PHP:
$ok $DB->Execute("update atable set aval = 0");
if (!
$okmylogerr($DB->ErrorMsg()); 
no sé que es esa función "mylogger" .. pero supongo que haciendo un echo a ese método .. podrías ver el mensaje de error ahí mismo:

echo $DB->ErrorMsg();

(despues de tu Execute ..)

Un saludo,
  #10 (permalink)  
Antiguo 17/11/2004, 15:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Otro ejemplo (sobre el uso de ADOdb y su control de errores):

http://www.phpfreaks.com/tutorials/110/2.php

Un saludo,
  #11 (permalink)  
Antiguo 18/11/2004, 01:46
Avatar de Immortal  
Fecha de Ingreso: septiembre-2004
Mensajes: 38
Antigüedad: 13 años, 3 meses
Puntos: 0
Listo ya quedo

Saludos Cluster!!!!!!!!!!!!!!!!

Ya funciono la conexion y la insecion hice lo que me recomendaste y el problema era que el campo de auto incremento no funcionaba como tal y me marcaba error de duplicacion.

Gracias y disculpa la molestia

Saludos!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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 13:06.