Foros del Web » Programando para Internet » PHP »

Problema con consulta PDO

Estas en el tema de Problema con consulta PDO en el foro de PHP en Foros del Web. Saludos, tengo está función en el modelo: Código PHP: public function  mdlMostrarDetalleVenta ( $item ,  $valor ) {      $stmt  =  Conexion :: conectar () ->  prepare ( ...
  #1 (permalink)  
Antiguo 26/07/2019, 14:07
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 4 meses
Puntos: 8
Problema con consulta PDO

Saludos, tengo está función en el modelo:
Código PHP:
public function mdlMostrarDetalleVenta($item$valor) {

    
$stmt Conexion::conectar() -> prepare("SELECT 
                                             A.id AS id, 
                                             A.fecha AS fecha, 
                                             B.nombre AS nomEmpresa, 
                                             C.nombres AS nomCliente, 
                                             C.apellidos AS apeCliente 
                                             FROM ventas A 
                                             INNER JOIN empresas B ON B.id = A.empresa 
                                             INNER JOIN clientes C ON C.id = A.cliente 
                                             WHERE A.$item = :$item"
);
    
$stmt -> bindParam(":" $item$valorPDO::PARAM_INT);
    
$stmt -> execute();

    return 
$stmt -> fetch();

    
$stmt -> close();
    
$stmt null;


El valor de $item es id y el valor de $valor es 5.

Pero cuando imprimo el valor que devuelve el array, es "a r r a y" y no la fila con el id = 5

Si me pueden dar una mano con que puede estar pasando, me serviría mucho.

Gracias,
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 27/07/2019, 03:57
Avatar de kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.928
Antigüedad: 16 años, 6 meses
Puntos: 62
Respuesta: Problema con consulta PDO

Hola juandedios

En principio parace que está todo bien, habría que ver también que tienes en el controlador y en el archivo que llama al controlador. También puedes hacer un var_dump($stmt); para ver que te devuelve en la consulta.

Código PHP:
public function mdlMostrarDetalleVenta($item$valor) { 

    
$stmt Conexion::conectar() -> prepare("SELECT  
                                             A.id AS id,  
                                             A.fecha AS fecha,  
                                             B.nombre AS nomEmpresa,  
                                             C.nombres AS nomCliente,  
                                             C.apellidos AS apeCliente  
                                             FROM ventas A  
                                             INNER JOIN empresas B ON B.id = A.empresa  
                                             INNER JOIN clientes C ON C.id = A.cliente  
                                             WHERE A.$item = :$item"
); 

    
var_dump($stmt);
    
$stmt -> bindParam(":" $item$valorPDO::PARAM_INT); 
    
$stmt -> execute(); 

    return 
$stmt -> fetch(); 

    
$stmt -> close(); 
    
$stmt null


De todas formas ahora que me fijo, ¿no estás consultando el mismo ¿id?

Código PHP:
 WHERE A.$item = :$item");  cambia a -> WHERE A.$item = :$valor"); 
Saludos.



La zona horaria es GMT -6. Ahora son las 02:26.