Mysqli-select-query

提供:Dev Guides
移動先:案内検索

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句を使用して、任意の条件を指定できます。
  • SELECTがレコードを返し始める OFFSET を使用してオフセットを指定できます。 デフォルトでは、オフセットはゼロです。
  • LIMIT 属性を使用して、返品の数を制限できます。

コマンドプロンプトからのデータの取得-

これは、SQL SELECTコマンドを使用して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スクリプトを使用したデータの取得

PHP関数* mysqli_query()に同じSQL SELECTコマンドを使用できます。 この関数は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に割り当てられ、行の値が出力されます。

-配列値を文字列に直接挿入する場合は、必ず中括弧を忘れないでください。

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

Connected successfully
Name: ram
Name: kit
Name: abc