Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Post Ejecutar SP desde php

Hola gente.

TEngo en firebird un SP que hace un insert a una tabla y desde php tengo un script que llama a ese SP con sus respectivos parametros de entrada.

Si lo hago asi:
$conexion->ejecutar("INSERT INTO LIBROS_T VALUES('$lib_nombre', '$lib_editorial', '$lib_autor', 1, '$lib_resumen')");

perfectamente funciona y el registro es insertado, pero si lo hago asi:
$conexion->ejecutar("SELECT LIB_ID FROM SP_LIB_A ('$lib_nombre', '$lib_editorial', '$lib_autor', 1, '$lib_resumen')");

aunque me responde que lo inserto porque existe un resource, cuando miro la base de datos no inserta nada.

Alguien sabe que le pasa a esto???

Última edición por micayael fecha: 22-12-2005 a las 21:01:32.
Responder Con Cita
  #2  
Antiguo 22-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Ya trataste llamando al procedimiento como tal?

Código PHP:
$conexion->ejecutar("EXECUTE PROCEDURE SP_LIB_A
  ('
$lib_nombre', '$lib_editorial', '$lib_autor', 1, '$lib_resumen')"); 


Saludos...
Responder Con Cita
  #3  
Antiguo 23-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Lo que pasa es que el procedimiento devuelve valores y no logro hacer que funcione con returning values.
Responder Con Cita
  #4  
Antiguo 23-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
El método ejecutar que estas usando, es programado por ti?

Como está escrito internamente? Que funciones de PHP usa?



Saludos...
Responder Con Cita
  #5  
Antiguo 23-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Utiliza un @ibase_query($this->bdd_conexion_id, $sSQL)

solo la funcion ibase_query();
Responder Con Cita
  #6  
Antiguo 23-12-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hice una búsqueda en Google y encontré esto:

Código PHP:
$sql "SELECT * FROM SP_MY_PROCEDURE()";

$pstm ibase_prepare($connection$sql);
$rs ibase_execute($pstm);

while (
$row ibase_fetch_row($rs));
  
// ...
}

ibase_free_result($pstm); 
Nota que se está usando la función ibase_execute();


Tal vez con eso resuelvas tu problema...



Saludos...
Responder Con Cita
  #7  
Antiguo 26-12-2005
micayael micayael is offline
Miembro
 
Registrado: sep 2005
Posts: 68
Poder: 19
micayael Va por buen camino
Ok gracias maeyanes.

Está solucionado.

Lo que pasaba es que usando un SELECT * FROM PROCEDURE lo tengo que usar con una funcion que hice para hacer consultas. Usando ejecutar() seria para ejecutar sentencias directas como por ejemplo un INSERT.

Gracias
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 08:54:58.


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