Verificando a existência de linha com PDO
Ao trabalhar com bancos de dados, muitas vezes é necessário realizar ações diferentes dependendo se uma linha existe ou não. Este artigo explora como verificar com eficiência a existência de uma linha usando a popular biblioteca PDO em PHP.
PDO e Row Existence
PDO fornece uma interface flexível e eficiente para interagir com vários bancos de dados. Um de seus recursos poderosos é o método prepare(), que permite criar e executar instruções preparadas.
Verificando com rowCount() e fetch()
Seu abordagem inicial usando count($row) == 0 e $stmt->rowCount()
Solução: verificação direta do valor de retorno
Para verificar a existência de linha, você pode simplesmente examinar o valor de retorno de execute(). Se a instrução foi executada com sucesso e não retornou nenhuma linha, execute() retornará falso. Você pode então executar as ações necessárias:
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
if( ! $stmt->execute() ) {
echo 'Row not found';
}
Verificando sem buscar
Se você deseja verificar a existência de uma linha sem realmente buscar os dados da linha, você pode usar a capacidade do MySQL de retornar um valor na forma de um contar. Isso permite vincular uma variável dentro de execute() e verificar seu valor:
$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 é mais eficiente, pois evita a busca desnecessária de dados de linha.
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