Foros del Web » Programando para Internet » PHP »

problemas en llamada a procedimiento almacenada mysql

Estas en el tema de problemas en llamada a procedimiento almacenada mysql en el foro de PHP en Foros del Web. hola necesito hacer una llamada a un Stored Procedure en Mysql, pero n ome funciona.... El procedimiento esta bien construido. Código PHP: DROP PROCEDURE  IF  EXISTS  ...
  #1 (permalink)  
Antiguo 10/05/2010, 09:30
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 21 años, 5 meses
Puntos: 5
problemas en llamada a procedimiento almacenada mysql

hola necesito hacer una llamada a un Stored Procedure en Mysql, pero n ome funciona....

El procedimiento esta bien construido.

Código PHP:
DROP PROCEDURE IF EXISTS `cosit`.`procedure1` $$ 
CREATE PROCEDURE `cosit`.`procedure1` () 
BEGIN 
   
IF (SELECT COUNT(*) FROM trabajadores WHERE id 162IS NULL THEN 
      SELECT 
FROM prot_exclusion
   ELSE 
      
SELECT FROM trabajadores WHERE id 1;  
   
END IF; 
END $$ 
manejado desde phpmyadmin

Código PHP:
<?
$conectar 
mysql_connect("localhost","root","root");
$bd mysql_select_db("cosit");
$consulta mysql_query('CALL procedure1()');

$muestra mysql_fetch_array($consulta);

echo 
"mostrando el stored_procedure.php: " .$muestra['id'];
?>

de esa forma lo llamo y muestro los datos, pero no me muestra nada de nada, los registros citados en el procedimiento existen y la informacion de las tablas es congruente con las consultas, pero no muestra datos.

alguien me da una manito.

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 10/05/2010, 09:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problemas en llamada a procedimiento almacenada mysql

Para hacer uso de procedimientos almacenados, necesitas usar la extensión mysqli, o en su defecto PDO.

Saludos.
  #3 (permalink)  
Antiguo 10/05/2010, 10:01
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: problemas en llamada a procedimiento almacenada mysql

O pasarle false,65536 como cuarto y quinto parametros a mysql_connect() >_>
  #4 (permalink)  
Antiguo 10/05/2010, 10:25
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 21 años, 5 meses
Puntos: 5
Respuesta: problemas en llamada a procedimiento almacenada mysql

Cita:
Iniciado por darkasecas Ver Mensaje
O pasarle false,65536 como cuarto y quinto parametros a mysql_connect() >_>
me funciono de mil maravillas!!! muchas gracias!!!!

saludos!!

pd: cual es la diferencia entre pasar esos parametros y mysqli?

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #5 (permalink)  
Antiguo 10/05/2010, 14:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problemas en llamada a procedimiento almacenada mysql

Según el manual es un flag para habilitar las multillamadas, no tenía conocimiento de ello y me parece útil, dejo los demás flags:
Código:
#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
#define CLIENT_LONG_FLAG 4 /* Get all column flags */
#define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
#define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
#define CLIENT_COMPRESS 32 /* Can use compression protocol */
#define CLIENT_ODBC 64 /* Odbc client */
#define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
#define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
#define CLIENT_PROTOCOL_41 512 /* New 4.1 protocol */
#define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
#define CLIENT_SSL 2048 /* Switch to SSL after handshake */
#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
#define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
#define CLIENT_REMEMBER_OPTIONS (((ulong) 1) << 31)
El que le estas pasando es CLIENT_MULTI_STATEMENTS.

Saludos.

Etiquetas: llamada, mysql, procedimiento, almacenadas
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 16:22.