PHP MySQL WHERE 句
XAMPP で PHP を使用して MySQL データベースからデータを選択およびフィルタリングする方法
このガイドでは、XAMPP スタックの PHP を使用してWHERE 句と SELECT コマンドを使用して特定の条件に基づいてMySQL データベースからレコードを選択する方法について説明します。
前提条件
次のガイドの説明に従って、XAMPP スタックにデータベースとテーブルが作成されていることを確認してください。
- XAMPP で PHP を使用して MySQL データベースとテーブルを作成する
デモの目的で、以下のスキーマとレコードを使用して、"my_company" という MySQL データベースに "sales" という名前のテーブルを作成しました。
データベースのスキーマとレコード
PHP を使用した WHERE 句による MySQL テーブルからのデータのフィルタリング
WHERE句は、特定の条件に一致するレコードのみを抽出するために使用します。 WHERE 句は、演算子の後に値を指定することで条件をチェックします。
WHERE 句の構文:
SELECT column1,column2,.,column n from table_name WHERE column_name operator value;
どこ、
column_name
- 条件が適用される列。演算子
- 条件を確認するために使用されます。value
- テーブルに存在するすべての列の値と比較される文字列/数値です。
ステップ
1. サーバー名 (例: localhost)、データベース ユーザー名 (例: root
)、root ユーザーのパスワード、およびデータベース名 (例: my_company) を指定します。ここで、root
ユーザーのパスワードは空です。
2. mysqli_connect()
関数を使用して接続を確立します。サーバー名、ユーザー名、パスワードをパラメーターとして受け取ります。
コード:
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
3. SQL クエリを指定して、条件によってテーブルから特定の列またはすべての列のレコードを選択します。このステップでは、テーブルから列を選択して変数に入れる SQL クエリを指定できます。
たとえば、my_company というデータベース名を使用し、それを query という変数に保存します。テーブル名はsales で、3 つの列があります。
コード:
$query = "SELECT column1,…. from sales where column_name operator value";
4. mysqli_query()
関数を使用して、選択した結果を "final" という変数に保存します。 「接続」と「クエリ」をパラメータとして受け取ります。
コード:
mysqli_query($connection, $query);
5. mysqli_num_rows()
関数を使用して、「final」変数から行を 1 つずつ取得します。その後、mysqli_fetch_assoc()
関数を使用して while
ループを反復して結果を取得します。 「final
」変数をパラメータとして受け取ります。
コード:
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";
}
6. 最後に、mysqli_close()
関数を使用して接続を閉じます。
コード:
mysqli_close($connection);
では、上記の手順に基づいてサンプルの PHP コードを作成してみましょう。
WHERE 句を使用して MySQL データベースからデータを選択する PHP コード
コード例 1:
この例では、「sales」テーブルから id 値が 4 より大きいすべての列を選択しますマーク>を実行し、結果を PHP ページに表示します。
したがって、column_name
を次のように指定すると、演算子は (">") より大きくなり、値は 4 になります。 ID。
/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 all columns such that id is greater than 4
$query = "SELECT * from sales where id>4";
#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 を指定します。 id が 4 より大きいデータが選択され、結果がブラウザ ウィンドウに表示されていることがわかります。
WHERE 句を使用して MySQL データベースからデータを選択する
コード例 2:
この例では、名前がである「sales」テーブルからすべての列を選択します。 >「Eggs」をクリックし、PHP ページに結果を表示します。
したがって、column_name
を name として指定すると、演算子は ("=") に等しく、値は "Eggs" になります。
<?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
$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 such that name equals to Eggs
$query = "SELECT * from sales where name ='Eggs'";
#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 を指定します。 name ='Eggs' の箇所でデータが選択されて表示されていることがわかります。
Eggs という名前を含む列を選択してください
コード例 3:
この例では、カウントを 45 として、「sales」テーブルからすべての列を選択します。 を実行し、結果を PHP ページに表示します。
したがって、column_name を count として指定すると、演算子は ("=") に等しく、値は 45 になります。
<?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
$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 such that count is 45
$query = "SELECT * from sales where count =45";
#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 を指定します。 count=45 のデータが選択され、結果の列が表示されていることがわかります。
カウント 45 を含む列を選択してください
結論
このチュートリアルでは、PHP の WHERE 句を使用して、 特定の条件に基づいてMySQL データベースからデータを選択する 3 つの異なる方法について説明しました。最初の例では、数値「id」を使用してデータをフィルタリングする方法を示しました。 2 番目と 3 番目の例では、それぞれ文字列値「name」と数値「count」を使用してデータを選択する方法を説明しました。