Web サイト開発では、データベースからデータを取得してページに表示することが必要になることがよくあります。一般的に使用されるサーバー側スクリプト言語として、PHP はデータベースのクエリと操作を簡単に行うことができます。
PHP は、MySQL データベースを操作するための 3 つの主要な API (MySQLi、PDO、および MySQL 拡張ライブラリ) を提供します。その中でも最もよく使われているのが MySQLi ですが、ここでは主に MySQLi を使ってデータベースのデータをクエリする方法を紹介します。
まず、PHP コードでデータベースに接続する必要があります。 MySQLi の使用方法は次のとおりです。
$servername = "localhost"; // 数据库服务器名称 $username = "username"; // 数据库用户名 $password = "password"; // 数据库密码 $dbname = "database_name"; // 数据库名称 // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
接続が成功したら、データベースにクエリ リクエストを送信できます。次のコードは、データベースのすべてのデータをクエリする方法を示しています。
// 查询语句 $sql = "SELECT * FROM table_name"; // 执行查询 $result = mysqli_query($conn, $sql); // 检测是否有数据 if (mysqli_num_rows($result) > 0) { // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; } } else { echo "0 results"; }
このコードでは、最初にすべてのデータがクエリされ、結果が変数 $result に保存されます。次に、ループ ステートメントを使用して結果データの各行を走査し、各行のデータを出力します。
特定のデータをクエリする必要がある場合は、クエリ条件を追加できます。たとえば、20 年以上前のすべてのデータをクエリします。
// 查询语句 $sql = "SELECT * FROM table_name WHERE age > 20"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
このコードでは、クエリ ステートメントに WHERE 句を追加して、条件を満たすデータをフィルタリングします。
特定の列の値に従ってクエリ結果を並べ替える必要がある場合は、クエリ ステートメントで ORDER BY 句を使用できます。たとえば、クエリ結果を年齢の昇順に並べ替えるには:
// 查询语句 $sql = "SELECT * FROM table_name ORDER BY age ASC"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
このコードでは、ORDER BY 句をクエリ ステートメントに追加して、クエリ結果を年齢列値の昇順に並べ替えます。
クエリ結果の数を制限する必要がある場合は、LIMIT 句を使用できます。たとえば、最初の 5 つのデータをクエリします。
// 查询语句 $sql = "SELECT * FROM table_name LIMIT 5"; // 执行查询 $result = mysqli_query($conn, $sql); // 输出数据 while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " " . $row["age"]. "<br>"; }
このコードでは、クエリ結果の数を制限するために、クエリ ステートメントに LIMIT 句が追加されています。
最後に、クエリが完了したらデータベース接続を忘れずに閉じてください:
// 关闭连接 mysqli_close($conn);
要約
上記は、PHP クエリ データベース データ メソッドの使用です。なお、実際の開発ではSQLインジェクションなどのセキュリティ上の問題を避けるため、ユーザーが入力した値をフィルタリングしてエスケープする必要があります。 SQL クエリを実行するにはプリペアド ステートメントを使用することをお勧めします。これにより、SQL インジェクション攻撃を効果的に防ぐことができます。
この記事が、PHP がデータベース データをクエリする方法をより深く理解するのに役立つことを願っています。
以上がPHPでデータベースのデータをクエリするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。