MySQLi-クエリを選択

SQL SELECTコマンドは、MySQLiデータベースからデータをフェッチするために使用されます。このコマンドは、mysql>プロンプト、およびPHPなどの任意のスクリプトで使用できます。

構文

これは、MySQLiテーブルからデータをフェッチするためのSELECTコマンドの一般的なSQL構文です。

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • カンマで区切られた1つ以上のテーブルを使用して、WHERE句を使用してさまざまな条件を含めることができますが、WHERE句はSELECTコマンドのオプション部分です。

  • 1つのSELECTコマンドで1つ以上のフィールドをフェッチできます。

  • フィールドの代わりにスター(*)を指定できます。この場合、SELECTはすべてのフィールドを返します。

  • WHERE句を使用して任意の条件を指定できます。

  • を使用してオフセットを指定できます OFFSETSELECTがレコードの返送を開始する場所から。デフォルトでは、オフセットはゼロです。

  • を使用して返品の数を制限できます LIMIT 属性。

コマンドプロンプトからのデータのフェッチ-

これはSQLSELECTコマンドを使用してMySQLiテーブルtutorials_tblからデータをフェッチします

次の例では、からのすべてのレコードが返されます tutorials_inf テーブル-

root@host# 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>

PHPスクリプトを使用したデータの取得

同じSQLSELECTコマンドをPHP関数に使用できます mysqli_query()。この関数は、SQLコマンドと後で別のPHP関数を実行するために使用されますmysqli_fetch_assoc()選択したすべてのデータをフェッチするために使用できます。この関数は、行を連想配列、数値配列、またはその両方として返します。行がなくなると、この関数はFALSEを返します。

以下は、レコードをフェッチする簡単な例です。 tutorials_inf テーブル。

次の例を試して、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>

行の内容が変数$ rowに割り当てられ、行の値が出力されます。

NOTE −配列値を文字列に直接挿入する場合は、必ず中括弧を付けるようにしてください。

サンプル出力は次のようになります-

Connected successfully
Name: ram
Name: kit
Name: abc