"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo comprobar la existencia de filas utilizando PDO?

¿Cómo comprobar la existencia de filas utilizando PDO?

Publicado el 2024-11-01
Navegar:101

How to Check for Row Existence Using PDO?

Comprobación de la existencia de filas utilizando PDO

Ha encontrado dificultades para verificar la existencia de filas en una base de datos utilizando PDO. Para solucionar este problema, considere la siguiente solución:

Como se sugiere en la respuesta, puede verificar directamente el valor de retorno de la consulta. Aquí hay un ejemplo:

$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';
}

En este código, $stmt->execute() intenta ejecutar la consulta. Si no se encuentra ninguna fila, $stmt->fetch() devuelve FALSO. Esto le permite usar la condición if (!$row) para determinar si la fila existe.

Además, si desea verificar varias filas o evitar recuperar la fila, puede usar la condición $stmt-> método fetchAll():

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}

Como alternativa, puede indicarle a MySQL que devuelva un 1 cuando se encuentre una fila:

$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if ($stmt->fetchColumn()) echo 'Row found';

Este enfoque elimina la necesidad de buscar la fila, lo que mejora la eficiencia.

Declaración de liberación Este artículo se reproduce en: 1729560796 si hay violaciones, comuníquese con [email protected] para eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3