ウェブサイト検索

PHP MySQL データの選択


XAMPP スタックで PHP を使用して MySQL データベースからデータを選択する

このチュートリアルでは、XAMPP スタックで PHP を使用してMySQL データベースからテーブル内のデータを選択する手順を説明します。

前提条件

システムに XAMPP スタックがセットアップされていることを確認してください。次のガイドでは、Linux で XAMPP スタックをセットアップする方法について説明します。

  • Linux に XAMPP をインストールする方法

あるいは、PHP と MySQL の両方を提供する LAMP または LEMP スタックを使用することもできます。 Linux を使用している場合は、次のガイドを参照して LAMP/LEMP スタックをインストールしてください。

  • Ubuntu 20.04 LTS に Apache、MySQL、PHP (LAMP スタック) をインストールする
  • Ubuntu 20.04 LTS に Nginx、MySQL、PHP (LEMP スタック) をインストールする
  • Apache、MariaDB、PHP (LAMP スタック) を CentOS 8 にインストールする
  • Apache、MariaDB、PHP (LAMP) スタックを Arch Linux にインストールする
  • Arch Linux に Nginx、MariaDB、PHP (LEMP) スタックをインストールする

XAMPP のセットアップは、LAMP および LEMP スタックよりもはるかに簡単です。したがって、このガイドでは XAMPP スタックを使用します。

XAMPP スタックをセットアップした後、データベース内に MySQL データベースとテーブルを作成する必要があります。 XAMPP スタックで MySQL データベースとテーブルを作成する方法については、次のガイドを参照してください。

  • XAMPP で PHP を使用して MySQL データベースとテーブルを作成する

デモの目的で、XAMPP スタック内の以下のスキーマとレコードを使用して、"my_company" というデータベースに "sales" という名前のテーブルを作成します。

テーブルレコードの表示

PHP を使用して MySQL データベースからデータを選択する

MySQL にはテーブルからデータを取得するためのSELECT コマンドがあります。 SELECT コマンドを使用すると、特定の列またはすべての列からすべてのデータを取得できます。

クエリ構文:

SELECT column1,column2,.,column n from table_name;

ここで、 columns は選択される列の名前です。

すべての列を表示したい場合は、列名の代わりに * を使用できます。

クエリ構文:

SELECT * from table_name;

ステップ

1. PHP コードで MySQL サーバー名、ユーザー名、パスワード、データベース名を指定します。

ここで、サーバー名はローカルホスト、ユーザー名はroot、パスワードはです。データベース名は my_company で、このデータベース内に sales というテーブルを作成します。

2. 上記の詳細を使用して接続を作成します。

mysqli_connect() 関数を使用して、接続を確立します。 3 つのパラメータを取ります。最初はサーバー名、2 番目はユーザー名、最後はパスワードです。ここでは接続を作成しているだけなので、データベース名も指定しますが、これはオプションです。

コード:

$connection = mysqli_connect($server_name, $user_name, $password,$database_name);

3. 接続を確認します。

if 条件で指定された mysqli_connect_error() 関数を使用して接続を確認できます。接続が失敗した場合、この関数はエラーを表します。

4. SQL クエリを指定して、テーブルから特定またはすべての列レコードを選択します。

このステップでは、テーブルから列を選択して変数に入れる SQL クエリを指定できます。データベース名を My_company とし、それを query という名前の変数に保存します。テーブル名は Sales で、3 つの列があります。

コード:

$query = "SELECT column1,…. from Sales";

5. mysqli_query() 関数を使用して、選択した結果を最終変数に保存します。接続とクエリをパラメータとして受け取ります。

コード:

mysqli_query($connection, $query);

6. mysqli_num_rows() 関数を使用して、"final" という変数から行を 1 つずつ取得します。その後、mysqli_fetch_assoc() 関数を使用して while ループを反復処理して結果をフェッチします。 「final」変数をパラメータとして受け取ります。 while ループ内に表示する列名を指定します。

コード:

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
    echo $i["column1”],…………..;
  }
} else {
  echo "No results";
}

7. 接続を閉じます。

これは、mysqli_close() 関数を使用して接続を閉じる必要がある最後のステップです。

コード:

mysqli_close($connection);

では、上記の手順に基づいてサンプルの PHP コードを作成してみましょう。ここでは、次のmysqli 関数を使用してデータをフェッチし、返します。

  • mysqli_num_rows() を使用して、実際の結果からデータを取得します。
  • mysqli_fetch_assoc() を使用して、テーブルから行を 1 つずつフェッチします。
  • mysqli_close() を使用して接続を閉じます。

PHPコード

コード例 1:

この例では、Sales テーブルから id 列と name 列を選択し、結果をPHPページ。

/htdocs フォルダーに select.php という名前の新しいファイルを作成し、次の内容を含めます。

注意: Linux を使用している場合、htdocs フォルダは /opt/lampp/ ディレクトリにあります。 Windows を使用している場合、htdocs は通常 C:\xampp\ フォルダーにあります。

<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name - "my_company"
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password,$database_name);

//sql query to select particular columns
//select id and name columns
$query = "SELECT id,name from sales";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get id and name columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Web ブラウザを開き、http://localhost/select.php URL を指定します。データが選択されて表示されていることがわかります。

PHP を使用して MySQL データベースからデータを選択する

コード例 2:

この例では、 テーブルに存在するすべての列を取得します。

同じ select.php ファイルを開き、その内容を更新します。

<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name - "my_company"
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password,$database_name);

//sql query to select particular columns
//select all columns
$query = "SELECT * from sales";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Web ブラウザを開き、http://localhost/select.php URL を指定します。すべての列が選択されて表示されていることがわかります。

テーブル内のすべての列を表示

結論

このガイドでは、XAMPP スタックの PHP を使用して MySQL テーブルからデータを選択する方法について説明しました。また、テーブルの特定の列またはすべての列のデータを表示する方法についても説明しました。今後の記事では、PHP MySQL 関連のトピックについてさらに学習していきます。

関連記事