Verificando a existência de linha usando PDO
Você encontrou dificuldades para verificar a existência de linha em um banco de dados usando PDO. Para resolver esse problema, considere a seguinte solução:
Conforme sugerido na resposta, você pode verificar diretamente o valor de retorno da consulta. Aqui está um exemplo:
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$row) {
echo 'Row does not exist';
}
Neste código, $stmt->execute() tenta executar a consulta. Se nenhuma linha for encontrada, $stmt->fetch() retornará FALSE. Isso permite que você use a condição if (!$row) para determinar se a linha existe.
Além disso, se desejar verificar várias linhas ou evitar a busca da linha, você pode usar o $stmt-> método fetchAll():
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (!$rows) {
echo 'No rows found';
}
Alternativamente, você pode instruir o MySQL para retornar 1 quando uma linha for encontrada:
$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);
if ($stmt->fetchColumn()) echo 'Row found';
Essa abordagem elimina a necessidade de buscar a linha, melhorando a eficiência.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3