1
resposta

[Projeto] vou deixar aqui só como uma forma de mostrar como eu fiz o meu editar, não foi da melhor forma, mas funcionou até certo ponto kkkkk

<?php

$ddb = __DIR__ . '/banco.sqlite';
$pdo = new PDO("sqlite:$ddb");

$id = $_GET['id'];
$sql = 'UPDATE videos SET url=? WHERE id=? ';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, $id);
$sql2 = 'DELETE FROM videos WHERE id = ?';
$stmt2 = $pdo->prepare($sql2);
$stmt2->bindValue(1, $id);

$stmt2->execute();

if ($stmt->execute() === false) {
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=0');
    
}else {
    
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=1');
}
1 resposta

Oii, João

Notei que você está tentando atualizar e deletar um vídeo ao mesmo tempo, e isso não é o comportamente que desejamos. Vamos focar apenas na atualização do vídeo. Aqui está uma versão melhorada do seu código para a funcionalidade de editar:

<?php

$ddb = __DIR__ . '/banco.sqlite';
$pdo = new PDO("sqlite:$ddb");

// Valida o ID recebido via GET
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
if ($id === false) {
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=0');
    exit();
}

// Valida a URL recebida via POST
$url = filter_input(INPUT_POST, 'url', FILTER_VALIDATE_URL);
if ($url === false) {
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=0');
    exit();
}

// Atualiza o vídeo no banco de dados
$sql = 'UPDATE videos SET url = :url WHERE id = :id';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':url', $url);
$stmt->bindValue(':id', $id, PDO::PARAM_INT);

if ($stmt->execute() === false) {
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=0');
} else {
    header('Location: http://localhost:8080/pages/enviar-video.php?sucesso=1');
}

Espero ter ajudado e bons estudos :)