MySQLi - Sélectionner une requête

Le SQL SELECTLa commande est utilisée pour récupérer les données de la base de données MySQLi. Vous pouvez utiliser cette commande à l'invite mysql> ainsi que dans n'importe quel script comme PHP.

Syntaxe

Voici la syntaxe SQL générique de la commande SELECT pour récupérer les données de la table MySQLi -

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Vous pouvez utiliser une ou plusieurs tables séparées par des virgules pour inclure diverses conditions à l'aide d'une clause WHERE, mais la clause WHERE est une partie facultative de la commande SELECT.

  • Vous pouvez récupérer un ou plusieurs champs en une seule commande SELECT.

  • Vous pouvez spécifier une étoile (*) à la place des champs. Dans ce cas, SELECT retournera tous les champs.

  • Vous pouvez spécifier n'importe quelle condition à l'aide de la clause WHERE.

  • Vous pouvez spécifier un décalage à l'aide de OFFSETd'où SELECT commencera à renvoyer les enregistrements. Par défaut, le décalage est égal à zéro.

  • Vous pouvez limiter le nombre de retours en utilisant LIMIT attribut.

Récupération des données à partir de l'invite de commande -

Cela utilisera la commande SQL SELECT pour récupérer les données de la table MySQLi tutorials_tbl

Exemple

L'exemple suivant renverra tous les enregistrements de tutorials_inf table -

[email protected]# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> SELECT * from tutorials_inf;
+----+------+
| id | name |
+----+------+
|  1 | sai  |
|  2 | kit  |
|  3 | ram  |
+----+------+
3 rows in set (0.00 sec)

mysql>

Récupération de données à l'aide d'un script PHP

Vous pouvez utiliser la même commande SQL SELECT dans la fonction PHP mysqli_query(). Cette fonction est utilisée pour exécuter la commande SQL et plus tard une autre fonction PHPmysqli_fetch_assoc()peut être utilisé pour récupérer toutes les données sélectionnées. Cette fonction renvoie la ligne sous forme de tableau associatif, de tableau numérique ou les deux. Cette fonction renvoie FALSE s'il n'y a plus de lignes.

Vous trouverez ci-dessous un exemple simple pour récupérer des enregistrements à partir de tutorials_inf table.

Exemple

Essayez l'exemple suivant pour afficher tous les enregistrements de la table tutorials_inf.

<html>
   <head>
      <title>Selecting Table in MySQLi Server</title>
   </head>

   <body>
      <?php
         $dbhost = 'localhost:3306';
         $dbuser = 'root';
         $dbpass = '';
         $dbname = 'TUTORIALS';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
   
         if(! $conn ) {
            die('Could not connect: ' . mysqli_error());
         }
         echo 'Connected successfully<br>';
         $sql = 'SELECT name FROM tutorials_inf';
         $result = mysqli_query($conn, $sql);

         if (mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) {
               echo "Name: " . $row["name"]. "<br>";
            }
         } else {
            echo "0 results";
         }
         mysqli_close($conn);
      ?>
   </body>
</html>

Le contenu des lignes est affecté à la variable $ row et les valeurs de la ligne sont ensuite imprimées.

NOTE - N'oubliez jamais de mettre des accolades lorsque vous souhaitez insérer une valeur de tableau directement dans une chaîne.

L'exemple de sortie devrait être comme ceci -

Connected successfully
Name: ram
Name: kit
Name: abc