Foros del Web » Programando para Internet » PHP »

no puedo mostrar valores devueltos desde un store producer..

Estas en el tema de no puedo mostrar valores devueltos desde un store producer.. en el foro de PHP en Foros del Web. Hola amigos, estoy teniendo un problema en cuento a mostrar resultados por php. tengo un stored Producer en mysql: Código: CREATE DEFINER=`root`@`localhost` PROCEDURE `resumen_venta`() BEGIN ...
  #1 (permalink)  
Antiguo 05/01/2010, 23:24
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 5 meses
Puntos: 4
Pregunta no puedo mostrar valores devueltos desde un store producer..

Hola amigos, estoy teniendo un problema en cuento a mostrar resultados por php.

tengo un stored Producer en mysql:
Código:
CREATE DEFINER=`root`@`localhost` PROCEDURE `resumen_venta`()
BEGIN


   DECLARE idVenta INT;  /* idventas tomara el ultimo valor auto*/

   /*SET idVenta = (last_insert_id());  /*capturando el ultimo valor de autoincrement*/
   SELECT MAX(Idventas) INTO idVenta FROM ventas;

        /* Mostrando el Resumen de venta */

   SELECT
     v.Idventas,
     v.Fecha,
     c.nombre,
     e.nombre,
     p.Descripcion,
     v.Cantidad,
     v.PrecioUnit,
     v.total,
     co.Descripcion
   FROM ventas v
    INNER JOIN empleados e ON (v.Idempleados = e.Idempleados)
    INNER JOIN clientes c ON (c.Idcliente = v.Idcliente)
    INNER JOIN producto p ON (p.Idproducto = v.Idproducto)
    INNER JOIN color co ON (v.Id_color = co.Id_color )
    WHERE v.Idventas = idVenta;

END
Que funciona a la perfeccion y tengo el siguiente scrip.

Código:
$result = mysql_query("call resumen_venta()")or die(mysql_error());		
		var_dump($row, $result);
		if ($row = mysql_fetch_array($result)){	    /* para saber si el procedimiento esta devolbiendo valroes var_dump($row, $resultado);*/
		 echo "<table border = '1'>\n";
		 echo "<tr><td>Numero de Venta</td><td>Fecha</td><td>Cliente</td><td>Empleado</td><td>Producto</td><td>Cantidad</td><td>Precio Unitario</td><td>Total</td><td>Color</td></tr> \n";
		  do {
			  echo "<tr><td>".$row['Idventas']."</td><td>".$row['fecha']."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row['PrecioUnit']."</td><td>".$row['total']."</td><td>".$row['Descripcion']."</td></tr>\n";
			  } while ($row = mysql_fetch_array($result)); /* aca padeci como nunca por no darme cuenta que es mysql_fetch_array.*/
		 echo "</table>\n";
	 } else { echo "¡No se ha encontrado ningún registro!";}
y al ejecutarlo me muestra el siguiente error:
Cita:
PROCEDURE tienda.resumen_venta can't return a result set in the given context
Hize la misma consulta en el foro de mysql y me han ayudado mucho pero no logro aun mostrar el resultado de la consulta.
  #2 (permalink)  
Antiguo 06/01/2010, 00:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: no puedo mostrar valores devueltos desde un store producer..

Para poder ejecutar esos procesos necesitas MySQLi.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/01/2010, 01:58
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: no puedo mostrar valores devueltos desde un store producer..

entonces me toca aprender mysqli ?? es lo mismo que mysql solo que mejorado, segun lei, pero dime cual seria la solcion para este caso o porque tendria que cambiar de mysql al otro?

Disculpa si pregunto mal.
  #4 (permalink)  
Antiguo 06/01/2010, 02:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no puedo mostrar valores devueltos desde un store producer..

Cita:
Iniciado por Copia Ver Mensaje
[...] cual seria la solcion para este caso o porque tendria que cambiar de mysql al otro? [...]
leer el enlace que dejo abimaelrc puede ser un buen comienzo... no??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/01/2010, 10:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: no puedo mostrar valores devueltos desde un store producer..

La razón principal es porque la extensión de MySQL de PHP normal esta compilada usando una versión anterior a la librería de MySQL actual por lo que no soporta Stored Procedures, en cambio MySQLi, y PDP::MySQL sí estan compiladas con una versión más reciente de las librerías de MySQL y soportan Stored Procedures.

Es por eso que necesitas re-hacer tu código para utilizar ya sea MySQLi, o PDO::MySQL para poder ejecutar tu SP.

Saludos.
  #6 (permalink)  
Antiguo 06/01/2010, 15:59
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: no puedo mostrar valores devueltos desde un store producer..

Cita:
Iniciado por GatorV Ver Mensaje
La razón principal es porque la extensión de MySQL de PHP normal esta compilada usando una versión anterior a la librería de MySQL actual por lo que no soporta Stored Procedures, en cambio MySQLi, y PDP::MySQL sí estan compiladas con una versión más reciente de las librerías de MySQL y soportan Stored Procedures.

Es por eso que necesitas re-hacer tu código para utilizar ya sea MySQLi, o PDO::MySQL para poder ejecutar tu SP.

Saludos.

Gracias por la aclaracion, voy a practicar un rato luego regreso si hay dudas.
  #7 (permalink)  
Antiguo 07/01/2010, 15:50
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 19 años, 9 meses
Puntos: 1
De acuerdo Respuesta: no puedo mostrar valores devueltos desde un store producer..

Tambien podrias usar adodb mira este post un ejemplo.

http://www.forosdelweb.com/f18/ejecu...de-php-477484/

Etiquetas: store
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 23:07.