Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/02/2015, 15:32
wilmer_hardy
 
Fecha de Ingreso: febrero-2015
Ubicación: Lima - Peru
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Funcion SELECT no devuelve datos

gracias gnzsoloyo, es cierto es tema de php, tendre cuidado en donde hago la pregunta en adelante.

Cita:
Empieza por debuggear la función y asegurarte que los datos de entrada están llegando realmente.
En la funcion hago lo siguiente para depurar, retorno la variable $res que devuelve true //hago el comentario en la misma funcion.
Código PHP:
Ver original
  1. function traerPrecio($precioproducto) {
  2.         //codigo de conexion $db
  3.        
  4.         $consulta = $db->prepare('SELECT precio.codigo, precio.`pau@S`, precio.`pbu@S`
  5.                        FROM precio                
  6.                        WHERE precio.codigo=
  7.                       (SELECT producto.codigo
  8.                        FROM producto
  9.                        WHERE producto.codigo='. "'" . $precioproducto . "'". ')');
  10.      
  11.         $res = $consulta->execute();
  12.         return $res; //retorno variable $res e imprimo en php despues de llamar a la funcion
  13. //y me devuelve bool(true)
  14.         //$campos = $consulta->fetchAll();
  15.         //return $campos;  
  16.      
  17.     }
Cita:
Luego, captura la sentencia creada y si está bien, pruebala manualmente en phpMyadmin.
Cuando ejecuto la sentencia en phpMyadmin, ve devuelve datos el codigo de producto, el precio pau@S y el precio pbu@S.


gracias pateketrueke
Cita:
¿Cómo podemos adivinar cómo es que usas dicha función?

la funcion traerPrecio() lo llamo dentro de un foreach. esta es la linea de codigo dentro del foreach.

Código PHP:
Ver original
  1. foreach($listarproductos as $productos){
  2.         echo var_dump($productos['codigo'])//imprimo el campo codigo que trae el
  3. //array $listarproductos : string(1) "2"
  4.     $precios=traerPrecio($productos['codigo']);
  5.     echo var_dump($precios)//aqui imprimo el return variable $res de la funcion
  6. //traerPrecio() que devuelve bool(true)
  7. }
el array listarproductos me guarda esta consulta mysql:
Código MySQL:
Ver original
  1. SELECT codigo, descripcion FROM productos;

pero cuando el retorno la variable $campos e imprimo en php me devuelve: array(0) { } , cuando me deberia devolver el precio pau@S y pbu@S con el codigo de producto, no se en que momento sucede el error.

Código PHP:
Ver original
  1. function traerPrecio($precioproducto) {
  2.         //codigo de conexion $db
  3.        
  4.         $consulta = $db->prepare('SELECT precio.codigo, precio.`pau@S`, precio.`pbu@S`
  5.                        FROM precio                
  6.                        WHERE precio.codigo=
  7.                       (SELECT producto.codigo
  8.                        FROM producto
  9.                        WHERE producto.codigo='. "'" . $precioproducto . "'". ')');
  10.      
  11.         $consulta->execute();    
  12.         $campos = $consulta->fetchAll();
  13.         return $campos;  //al devolver la variable $campos e imprimir en php me
  14. //devuelve : array(0) { }
  15.      
  16.     }