Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 24
Mick Va por buen camino
Hola,

IBASE_WRITE no debe ir entre comillas, de todas formas siendo un script tan pequeño y como no se esta usando rollback no es necesario iniciar explicitamente ninguna transaccion.

Como usas pconnect (conexion persistente), llamar a ibase_close no es necesario ya que en realidad no hace nada en ese caso.

Y otra cosa importantisima debes validar las entradas y usar parametros en las queries (usando una ? para marcar los parametros), ese script es un peligro, cualquiera podria borrar los numeros de cuenta de todos los alumnos dejando en blanco el campo c del formulario y aunque comprobases que no quede en blanco bastaria escribir algo de este estilo ' OR 1=1 OR ''=' .

Otra cosa, como haces una redireccion a otra pagina, nunca te apareceran errores que pudiese dar ese script en pantalla.

El codigo quedaria asi:

Código PHP:
$nom $_GET['nom'];
$ns    $_GET['nc'];
$c     $_GET['c'];
$gr    $_GET['gr'];

// Aqui asegurarse de que los parametros tengan valores validos.

$c=ibase_pconnect("localhost:/usr/bases/PRESTAMOS.FDB",'sysdba','masterkey');
$sql="UPDATE alumno SET no_cuenta=?, nombre=?, grupo=? WHERE no_cuenta CONTAINING ?";
$rsibase_query($c,$sql,$ns$nom$gr$c);

if(
$rs!==FALSE) {
 
header("Location:alumnos.php");  
} else {
 
// Ha habido algun error, hacer lo que sea necesario en ese caso.

Saludos

Última edición por Mick fecha: 05-12-2007 a las 11:42:25.
Responder Con Cita
  #2  
Antiguo 05-12-2007
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 24
jgutti Va por buen camino
al guardar registro, se corrompe la base

Hola al foro, utilizo firebird + php, al insertar o actulizar registros estos se graban correctamente en la base de datos pero esta se corrompte, el script es el sgte:

$db=ibase_connect("localhost:/data/e_comer.gdb","user","pas");
if (!$db) die ("error connecting to database");
$tr=ibase_trans($db,IBASE_COMMITTED,IBASE_REC_VERSION,IBASE_NOWAIT);
$sql ="INSERT INTO pagos_web(EMPRESA,FACTURA,FECHA,monto)
values($emps,$fact,],'".formato_guarda_fecha($f_emi)."',$monto)";
$result = ibase_query($_SESSION['tr'],$sql);
if (!$result) database_error ("Error al Ingresar el Pago", $_SESSION['tr']);
ibase_commit_ret($_SESSION['tr']);
- ¿que estoy haciendo mal para que se producto este problema?

saludos

jgutti
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ADO, problema con commit Gaim2205 Conexión con bases de datos 2 23-10-2007 20:01:29
Commit micayael PHP 4 21-09-2005 19:34:50
commit dentro de un procedure de firebird cahosoft Firebird e Interbase 2 10-09-2005 04:02:03
Commit Loviedo Firebird e Interbase 7 29-07-2005 14:36:10
como sincronizo el Commit de mi api con un trigger en Firebird cesar_picazo Conexión con bases de datos 1 11-10-2004 18:31:31


La franja horaria es GMT +2. Ahora son las 18:47:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi