English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá cómo leer registros de una tabla de una base de datos MySQL utilizando PHP según condiciones específicas.
WHERELa cláusula se utiliza solo para extraer aquellos registros que cumplan con las condiciones especificadas.
La gramática básica de la cláusula WHERE se puede presentar de la siguiente manera:
SELECT column_name(s) FROM table_name WHERE column_name operator value
Vamos a realizar una consulta SQL utilizando la cláusula WHERE y luego ejecutarla pasándola a la función mysqli_query() de PHP para obtener los datos filtrados.
Supongamos que en la base de datos demo hay una tabla persons con los siguientes registros:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
El siguiente código PHP desdepersonsLeer todas las filas de la tabla donde first_name = 'john':
<?php /* Intentar conectar al servidor MySQL. Supongamos que está ejecutando MySQL. Servidor con configuración predeterminada (usuario sin contraseña "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Revisar conexión if($link === false){ die("Error: No se puede conectar. " . mysqli_connect_error()); } // $_sql = \ * FROM persons WHERE first_name='john'"; if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ echo \ echo \/ / echo \/ / echo \/tr>"; while($row = mysqli_fetch_array($result)){ echo \ echo \/td>"; echo \/td>"; echo \/td>"; echo \/td>"; echo \/tr>"; } echo \/table>"; // Cerrar conjunto de resultados mysqli_free_result($result); } else{ echo \ } } else{ echo "Error: No se puede ejecutar $sql. " . mysqli_error($link); } //Cerrar conexión mysqli_close($link); ?>
<?php /* Intentar conectar al servidor MySQL. Supongamos que está ejecutando MySQL. Servidor con configuración predeterminada (usuario sin contraseña "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Revisar conexión if($mysqli === false){ die("Error: No se puede conectar. " . $mysqli->connect_error); } // $_sql = \ * FROM persons WHERE first_name='john'"; if($result = $mysqli->query($sql)){ if($_result->num_rows > 0){ echo \ echo \/ / echo \/ / echo \/tr>"; ->fetch_array()){ echo \ echo \/td>"; echo \/td>"; echo \/td>"; echo \/td>"; echo \/tr>"; } echo \/table>"; //Liberar el conjunto de resultados $result->free(); } else{ echo \ } } else{ echo "Error: No se puede ejecutar $sql. " . $mysqli->error; } //Cerrar conexión $mysqli->close(); ?>
<?php /* Intentar conectar al servidor MySQL. Supongamos que está ejecutando MySQL. Servidor con configuración predeterminada (usuario sin contraseña "root") */ $_pdo = new PDO(\ //Establecer el modo de error de PDO en excepción $_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $_e){ ->getMessage()); } // $_sql = \ * FROM persons WHERE first_name='john'"; $_result = $_pdo->query($_sql); if($_result->rowCount() > 0){ echo \ echo \/ / echo \/ / echo \/tr>"; - echo \ echo \/td>"; echo \/td>"; echo \/td>"; echo \/td>"; echo \/tr>"; } echo \/table>"; //Liberar el conjunto de resultados unset($result); } else{ echo \ } } catch(PDOException $_e){ die("Error: No se puede ejecutar $_sql. \->getMessage()); } //Cerrar conexión unset($pdo); ?>
Después del filtrado, la colección de resultados se mostrará como sigue:
+----+------------+-----------+---------------------+ | id | first_name | last_name | email | +----+------------+-----------+---------------------+ | 2 | John | Rambo | [email protected] | | 4 | John | Carter | [email protected] | +----+------------+-----------+---------------------+