English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à lire des enregistrements d'une table de base de données MySQL en PHP selon des conditions spécifiques.
WHERELa clause est utilisée uniquement pour extraire les enregistrements qui répondent aux conditions spécifiées.
La grammaire de base de la clause WHERE peut être donnée de la manière suivante :
SELECT column_name(s) FROM table_name WHERE column_name operator value
Utilisons une requête SQL avec la clause WHERE pour effectuer une requête SQL, puis passons-la à la fonction mysqli_query() en PHP pour exécuter la requête et obtenir les données filtrées.
Supposons qu'il y ait une table 'persons' dans la base de données demo, avec les enregistrements suivants :
+----+------------+-----------+----------------------+ | 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] | +----+------------+-----------+----------------------+
Le code PHP suivant extraitpersonsLecture de toutes les lignes de la table où first_name = 'john' :
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Vérifier la connexion if($link === false){ meurt("Erreur : Impossible de se connecter. " . mysqli_connect_error()); } //尝试选择查询执行 $sql = "SELECT * FROM persons WHERE first_name='john'"; if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; // Fermer le jeu de résultats mysqli_free_result($result); } else{ echo "找不到与您的查询匹配的记录。"; } } else{ echo "Erreur : Impossible d'exécuter $sql. " . mysqli_error($link); } //关闭连接 mysqli_close($link); ?>
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Vérifier la connexion if($mysqli === false){ meurt("Erreur : Impossible de se connecter. " . $mysqli->erreur_de_connection); } //尝试选择查询执行 $sql = "SELECT * FROM persons WHERE first_name='john'"; if($result = $mysqli->requête($sql)){ if($result->nb_lignes > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = $result->extraire_tableau()){ echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; //释放结果集 $result->libérer(); } else{ echo "找不到与您的查询匹配的记录。"; } } else{ echo "Erreur : Impossible d'exécuter $sql. " . $mysqli->erreur; } //关闭连接 $mysqli->fermer(); ?>
<?php /* Essayer de se connecter au serveur MySQL. Supposons que vous exécutez MySQL. Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //将PDO错误模式设置为异常 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("错误:无法连接。 " . $e->getMessage()); } //尝试选择查询执行 try{ $sql = "SELECT * FROM persons WHERE first_name='john'"; $result = $pdo->query($sql); if($result->rowCount() > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = $result->fetch()); echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['first_name'] . "</td>"; echo "<td>" . $row['last_name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "</tr>"; } echo "</table>"; //释放结果集 unset($result); } else{ echo "找不到与您的查询匹配的记录。"; } } catch(PDOException $e){ die("错误:无法执行 $sql. " . $e->getMessage()); } //关闭连接 unset($pdo); ?>
过滤后,结果集将如下所示:
+----+------------+-----------+---------------------+ | id | first_name | last_name | email | +----+------------+-----------+---------------------+ | 2 | John | Rambo | [email protected] | | 4 | John | Carter | [email protected] | +----+------------+-----------+---------------------+