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.
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