Données de requête MySQL


Données de requête MySQL

La base de données MySQL utilise l'instruction SQL SELECT pour interroger les données.

Vous pouvez interroger des données dans la base de données via la fenêtre d'invite de commande mysql> ou interroger des données via des scripts PHP.

Syntaxe

Voici la syntaxe SELECT courante pour interroger des données dans la base de données MySQL :

SELECT column_name,column_name
FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
  • Dans la requête , vous pouvez utiliser une ou plusieurs tables, les séparer par des virgules (,) et utiliser l'instruction WHERE pour définir les conditions de requête.

  • La commande SELECT peut lire un ou plusieurs enregistrements.

  • Vous pouvez utiliser des astérisques (*) pour remplacer d'autres champs. L'instruction SELECT renverra toutes les données de champ dans la table

  • Vous pouvez. utilisez l'instruction WHERE pour contenir des conditions.

  • Vous pouvez utiliser l'attribut LIMIT pour définir le nombre d'enregistrements renvoyés.

  • Vous pouvez utiliser OFFSET pour spécifier le décalage de données auquel l'instruction SELECT commence l'interrogation. Par défaut, le décalage est 0.

Obtenir des données via l'invite de commande

Dans l'exemple suivant, nous obtiendrons MySQL via la commande SQL SELECT Données de l'utilisateur de la table de données :

Instance

L'exemple suivant renverra tous les enregistrements de l'utilisateur de la table de données :

Lire la table de données :

select * from user;

未标题-1.jpg

Utilisez le script PHP pour obtenir des données

Utilisez la fonction PHP mysqli_query() et les commandes SQL SELECT pour obtenir des données.

Cette fonction est utilisée pour exécuter des commandes SQL, puis utiliser ou afficher toutes les données interrogées via la fonction PHP mysqli_fetch_array().

La fonction mysqli_fetch_array() récupère une ligne de l'ensemble de résultats sous forme de tableau associatif, de tableau numérique ou les deux. Renvoie un tableau généré en fonction des lignes extraites de l'ensemble de résultats, ou false s'il n'y en a pas. plus de lignes.

L'exemple suivant lit tous les enregistrements de l'utilisateur de la table de données.

Exemple

Essayez l'exemple suivant pour afficher tous les enregistrements de l'utilisateur de la table de données.

<?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; // hôte du serveur mysql Adresse
$dbuser = 'root'; // nom d'utilisateur mysql
$dbpass = 'root';
if(! $conn )
{
die('La connexion a échoué : ' .mysqli_error ($conn));
}
// Définir l'encodage pour éviter les caractères chinois tronqués
mysqli_query ($conn , "set names utf8");

$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';

mysqli_select_db( $con n, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('Impossible de lire les données : ' . mysqli_error($conn ));
>
echo '<h2>PHP Site Web chinois mysqli_fetch_array test<h2> ;';
echo '<table border="1"><tr><td> ID du didacticiel</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['user_id']}</td> ".
"<td> ;{$row['user_title']} </td> ".
" "<td>{ $row['user_author']} </td> ".
" "<td>{ $row['submission_date']} </td> ".
"</tr>" ;
>
echo '</table>';
mysqli_close($conn) ;

?>

Image 5.jpg

Dans l'exemple ci-dessus, chaque ligne d'enregistrements lus est affectée à la variable $row, puis chaque valeur est imprimée.

Remarque : 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 interroger le résultat et renvoyer un tableau associatif. Vous pouvez utiliser le nom du champ comme index du tableau.

PHP fournit une autre fonction mysqli_fetch_assoc(), qui récupère une ligne de l'ensemble de résultats sous forme de tableau associatif. Renvoie un tableau associatif basé sur les lignes extraites du jeu de résultats, ou false s'il n'y a plus de lignes.

Exemple

Essayez l'exemple suivant, qui utilise la fonction mysqli_fetch_assoc() pour afficher tous les enregistrements de l'utilisateur de la table de données :


<?php
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // hôte du serveur mysql Adresse
$dbuser = 'root'; // nom d'utilisateur mysql
$dbpass = 'root';
if(! $conn )
{
die('Échec de la connexion : ' .mysqli_error ($conn));
}
// Définir l'encodage pour éviter les caractères chinois tronqués
mysqli_query ($conn , "set names utf8");

$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';

mysqli_select_db( $ conn, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if (! $retval )
{
die('Impossible de lire les données : ' . mysqli_error($conn ));
>
echo '<h2>Site Web chinois PHP mysqli_fetch_assoc test<h2> ';
echo '<table border="1"><tr><td> ID du didacticiel</td><td>Titre</td><td>Auteur</td>< ;td>Date de soumission</td></tr>';
while($ row = mysqli_fetch_assoc($retval))
{
echo "<tr><td> {$row ['user_id']}</td> ".
"<td>{ $row['user_title']} </td> ".
" "<td>{$row[ 'user_author']} </td> ".
" ['submission_date']} </td> ".
" </tr>";
}
echo '< ;/table>';
mysqli_close($conn);
?>


Image 6.jpg

Vous pouvez également utiliser la constante MYSQLI_NUM comme deuxième paramètre de la fonction PHP mysqli_fetch_array() pour renvoyer un tableau numérique.

Exemple

L'exemple suivant utilise le paramètre MYSQLI_NUM pour afficher tous les enregistrements de l'utilisateur de la table de données :


< ?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; // adresse de l'hôte du serveur mysql
$dbuser = ' root'; / nom d'utilisateur mysql
$dbpass = 'root'; // nom d'utilisateur et mot de passe mysql
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Connection failed: ' . mysqli_error($conn));
}
//Définir l'encodage pour éviter les caractères chinois tronqués
mysqli_query($conn, "set names utf8" );

$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';

mysqli_select_db( $conn, 'demo' );
$ retval = mysqli_query ( $conn, $sql );
if(! $retval )
{
die('Impossible de lire les données : ' . mysqli_error($conn));
}
echo ' <h2>Site Web PHP chinois mysqli_fetch_array test<h2>';
echo '<table border="1"><tr><td>ID du didacticiel</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);
?>

Image 8.jpg

Les résultats de sortie des trois exemples ci-dessus sont les mêmes.

Libération de mémoire

Après avoir exécuté l'instruction SELECT, c'est une bonne habitude de libérer la mémoire du curseur.

La mémoire peut être libérée via la fonction PHP mysqli_free_result().

L'exemple suivant montre l'utilisation de cette fonction.

Exemples

Essayez les exemples suivants :


<?php
header("Content-Type: text/html;charset=utf-8");

$dbhost = 'localhost'; adresse de l'hôte du serveur mysql
$dbuser = 'root'; // nom d'utilisateur mysql
$dbpass = 'root'; dbpass);
if(! $conn )
{
die( 'Échec de la connexion : ' . mysqli_error($conn));
}
//Définir l'encodage pour éviter les caractères chinois tronqués
mysqli_query($conn, "set names utf8");

$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';

mysqli_select_db( $conn, 'demo' );
$retval = mysqli_query( $conn, $ sql );
if(! $retval )
{
die('Impossible de lire les données : ' .mysqli_error ($conn));
}
echo '<h2>PHP Site Web chinois mysqli_fetch_array test<h2>';
echo '<table border="1"><tr><td>ID du didacticiel</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[2]} </td> ".
" "<td>{$row[ 3]}</td> retval);
mysqli_close($conn);
?>



Image 8.jpg

Recommandations de cours connexes :