English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La base de données MySQL utilise des requêtes SQL SELECT pour interroger des données.
Vous pouvez interroger des données dans la base de données via la fenêtre de commande mysql> ou par un script PHP.
Voici la syntaxe SELECT générique pour interroger des données dans une base de données MySQL :
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
Vous pouvez utiliser une ou plusieurs tables dans une requête SQL, séparées par des virgules (,), et définir les conditions de la requête avec la clause WHERE.
La commande SELECT peut lire une ou plusieurs enregistrements.
Vous pouvez utiliser l'astérisque (*)au lieu d'autres champs, la requête SELECT retournera toutes les données des colonnes de la table
Vous pouvez utiliser une clause WHERE pour inclure n'importe quelles conditions.
Vous pouvez utiliser l'attribut LIMIT pour définir le nombre de enregistrements à retourner.
Vous pouvez utiliser OFFSET pour spécifier le décalage de données de début de la requête SELECT. Par défaut, le décalage est de 0.
Nous allons obtenir des données du tableau de données MySQL w3codebox_tbl :
L'exemple suivant retournera les données de la table w3codebox_tbl 的所有记录:
select * from w3codebox_tbl;
Résultat de la sortie :
Obtenez des données en utilisant la fonction PHP mysqli_query() et la commande SQL SELECT.
Cette fonction exécute une commande SQL et récupère les données via la fonction PHP mysqli_fetch_array(). Pour utiliser ou afficher tous les données de la requête.
La fonction mysqli_fetch_array() récupère une ligne du jeu de résultats sous forme de tableau associatif, de tableau numérique ou des deux. Retourne un tableau généré à partir des lignes obtenues du jeu de résultats, ou false si il n'y a plus de lignes.
L'exemple suivant montre comment obtenir des données à partir de la table w3lire tous les enregistrements de codebox_tbl.
Essayons les exemples suivants pour afficher les données de la table w3tous les enregistrements de codebox_tbl.
<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if (!$conn) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn, "set names utf8'); $sql = 'SELECT w'3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl'; mysqli_select_db($conn, 'w'3codebox');}} $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Impossible de lire les données: ' . mysqli_error($conn)); } echo '<h2>Tutoriel de base mysqli_fetch_array Test</h2">; echo '<table border="1><tr><td>ID du tutoriel</td><td>Titre</td><td>Auteur</td><td>Date de soumission</td></tr>; while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) { echo "<tr><td> {$row['w3codebox_id'}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author'} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Les résultats de la sortie sont affichés comme suit :
Dans les exemples ci-dessus, chaque enregistrement lu est assigné à la variable $row, puis chaque valeur est affichée.
Attention :N'oubliez pas que si vous devez utiliser une variable dans une chaîne, mettez la variable entre accolades.
Dans l'exemple ci-dessus, le deuxième paramètre de la fonction PHP mysqli_fetch_array() est MYSQLI_ASSOC, Définissez ce paramètre pour que le jeu de résultats retourne un tableau associatif, vous pouvez utiliser le nom du champ en tant qu'index du tableau.
PHP fournit une autre fonction mysqli_fetch_assoc(), cette fonction récupère une ligne du jeu de résultats sous forme de tableau associatif. Retourne un tableau associatif généré à partir des lignes obtenues du jeu de résultats, ou false si il n'y a plus de lignes.
Essayons les exemples suivants, qui utilisent mysqli_fetch_assoc() 函数来输出数据表 w3codebox_tbl 的所有记录:
<?php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if (!$conn) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn, "set names utf8'); $sql = 'SELECT w'3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl'; mysqli_select_db($conn, 'w'3codebox');}} $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Impossible de lire les données: ' . mysqli_error($conn)); } echo '<h2>基础教程 mysqli_fetch_assoc 测试/h2">; echo '<table border="1><tr><td>ID du tutoriel</td><td>Titre</td><td>Auteur</td><td>Date de soumission</td></tr>; while($row = mysqli_fetch_assoc($retval)) { echo "<tr><td> {$row['w3codebox_id'}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author'} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
输出结果如下:
你也可以使用常量 MYSQLI_NUM 作为 PHP mysqli_fetch_array() 函数的第二个参数,返回数字数组。
以下示例使用 MYSQLI_NUM 参数显示数据表 w3codebox_tbl 的所有记录:
<?php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if (!$conn) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn, "set names utf8'); $sql = 'SELECT w'3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl'; mysqli_select_db($conn, 'w'3codebox');}} $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Impossible de lire les données: ' . mysqli_error($conn)); } echo '<h2>Tutoriel de base mysqli_fetch_array Test</h2">; echo '<table border="1><tr><td>ID du tutoriel</td><td>Titre</td><td>Auteur</td><td>Date de soumission</td></tr>; while($row = mysqli_fetch_array($retval, MYSQLI_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1}</td> ". "<td>{$row[2}</td> ". "<td>{$row[3}</td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
Les résultats de la sortie sont affichés comme suit :
以上三个示例输出结果都一样。
在我们执行完 SELECT 语句后,释放游标内存是一个很好的习惯。
可以通过 PHP 函数 mysqli_free_result() 来实现内存的释放。
以下示例演示了该函数的使用方法。
尝试以下示例:
<?php $dbhost = 'localhost:3306'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if (!$conn) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn, "set names utf8'); $sql = 'SELECT w'3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl'; mysqli_select_db($conn, 'w'3codebox');}} $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Impossible de lire les données: ' . mysqli_error($conn)); } echo '<h2>Tutoriel de base mysqli_fetch_array Test</h2">; echo '<table border="1><tr><td>ID du tutoriel</td><td>Titre</td><td>Auteur</td><td>Date de soumission</td></tr>; while($row = mysqli_fetch_array($retval, MYSQLI_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1}</td> ". "<td>{$row[2}</td> ". "<td>{$row[3}</td> ". "</tr>"; } echo '</table>'; // Libération de la mémoire mysqli_free_result($retval); mysqli_close($conn); ?>
Les résultats de la sortie sont affichés comme suit :