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 関連のトピックについてさらに学習していきます。