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, $valor, PDO::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.