Skip to content

Commit

Permalink
Issue [#262]
Browse files Browse the repository at this point in the history
  • Loading branch information
angel-jgpv committed Sep 12, 2024
1 parent 14e025e commit 4e7a82d
Showing 1 changed file with 44 additions and 9 deletions.
53 changes: 44 additions & 9 deletions html/pet/foto.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,50 @@
}
require_once $dao;
}
$post = json_decode(file_get_contents("php://input"));
$arr = [];
foreach($post as $valor){
$id = $valor;

// Recebe o JSON e decodifica
$post = json_decode(file_get_contents("php://input"), true);

if (json_last_error() !== JSON_ERROR_NONE) {
// Se houver um erro na decodificação JSON
http_response_code(400);
echo json_encode(["error" => "Dados JSON inválidos"]);
exit;
}

$pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8',DB_USER,DB_PASSWORD);
$resultado = $pdo->query("SELECT p.id_pet_foto AS id_foto, pf.arquivo_foto_pet AS 'imagem' FROM pet p,
pet_foto pf WHERE p.id_pet_foto=pf.id_pet_foto and p.id_pet=$id");
$petImagem = $resultado->fetch();
// Valida e sanitiza o ID recebido
if (!isset($post['id']) || !is_numeric($post['id']) || intval($post['id']) <= 0) {
// Se o ID não estiver presente ou não for um número positivo
http_response_code(400);
echo json_encode(["error" => "ID inválido"]);
exit;
}

$id = intval($post['id']); // Sanitiza o ID convertendo para inteiro

// Conecta ao banco de dados usando PDO
try {
$pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8', DB_USER, DB_PASSWORD);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo json_encode($petImagem);
// Prepara a consulta com um parâmetro
$stmt = $pdo->prepare("
SELECT p.id_pet_foto AS id_foto, pf.arquivo_foto_pet AS imagem
FROM pet p
JOIN pet_foto pf ON p.id_pet_foto = pf.id_pet_foto
WHERE p.id_pet = :id
");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();

// Busca o resultado
$petImagem = $stmt->fetch(PDO::FETCH_ASSOC);

// Retorna o resultado como JSON
echo json_encode($petImagem);

} catch (PDOException $e) {
// Se houver um erro na consulta ou na conexão
http_response_code(500);
echo json_encode(["error" => "Erro no banco de dados: " . $e->getMessage()]);
}

0 comments on commit 4e7a82d

Please sign in to comment.