PHP は Web 開発に広く使用されている言語であり、その重要な機能の 1 つはデータベースとの対話です。 Web サイトやアプリケーションでは、ユーザー インターフェイスに情報を表示したり、ページングや並べ替えなどの論理操作を実行したりするために、データのクエリとカウントが必要になることがよくあります。この記事では、PHP でデータベースのクエリとカウントを実行する方法について説明します。
データベース クエリ
PHP でデータベース クエリを実行するには、通常、MySQLi や PDO などのデータベース拡張ライブラリを使用する必要があります。以下は、MySQLi を使用したクエリの例です。
<?php //连接到数据库 $conn = new mysqli("localhost", "username", "password", "database_name"); //检查连接是否成功 if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } //执行查询 $sql = "SELECT * FROM user"; $result = $conn->query($sql); //检查查询结果 if ($result->num_rows > 0) { //输出每一行数据 while($row = $result->fetch_assoc()) { echo "Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "没有数据"; } //关闭数据库连接 $conn->close(); ?>
上記の例では、MySQLi 拡張ライブラリを使用してデータベースに接続し、クエリ結果をユーザー インターフェイスに出力します。まず、新しい mysqli() 関数を使用して、localhost (localhost)、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。次に、$query->query() メソッドを使用して SQL クエリを実行し、結果を $result 変数に保存します。通常、クエリ結果はデータ セットであり、$result->num_rows 属性を通じて、結果に含まれるデータの数を知ることができます。最後に、while ループを使用してデータを 1 行ずつ出力し、$result->fetch_assoc() メソッドを使用してデータの各行の連想配列を取得します。
MySQLi 拡張ライブラリと同様に、PDO ライブラリもデータベース クエリの実行に使用できます。例は次のとおりです:
<?php //连接到数据库 $conn = new PDO("mysql:host=localhost;dbname=database_name", "username", "password"); //执行查询 $sql = "SELECT * FROM user"; $stmt = $conn->prepare($sql); $stmt->execute(); //获取查询结果 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); //检查查询结果 if (count($result) > 0) { //输出每一行数据 foreach($result as $row) { echo "Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "没有数据"; } //关闭连接 $conn = null; ?>
MySQLi 拡張ライブラリと比較すると、PDO ライブラリにはいくつかの異なる点があります。 prepare() およびexecute() メソッドを使用するなど、クエリを準備および実行し、fetchAll() メソッドを使用してクエリ結果を取得します。 MySQLi 拡張ライブラリと同様に、foreach ループを使用して結果配列を反復処理し、連想配列のキーを使用してデータの各行を取得できます。
データベース数
データセット内のエントリ数を表示するには、いくつかの特別なクエリを実行してクエリ結果の行数を取得する必要があります。 MySQL では、COUNT() 関数を使用して行数を取得できます。例は次のとおりです:
<?php //连接到数据库 $conn = new mysqli("localhost", "username", "password", "database_name"); //执行查询 $sql = "SELECT COUNT(*) FROM user"; $result = $conn->query($sql); $count = $result->fetch_assoc()["COUNT(*)"]; //输出结果 echo "共有 " . $count . " 条数据"; //关闭数据库连接 $conn->close(); ?>
上記の例では、COUNT() 関数を使用して行数を取得します。ユーザーテーブルを作成し、結果を count 変数の $ に保存します。 COUNT() 関数によって返される結果は COUNT(*) という名前の列であるため、$result->fetch_assoc() メソッドを使用して行数を取得できることに注意してください。最後に、カウントをユーザー インターフェイスに出力します。
同様に、PDO で rowCount() メソッドを使用して行数を取得できます。例は次のとおりです:
<?php //连接到数据库 $conn = new PDO("mysql:host=localhost;dbname=database_name", "username", "password"); //执行查询 $sql = "SELECT * FROM user"; $stmt = $conn->prepare($sql); $stmt->execute(); //获取查询结果 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); $count = $stmt->rowCount(); //输出结果 echo "共有 " . $count . " 条数据"; //关闭连接 $conn = null; ?>
上記の例では、rowCount() メソッドを使用します。クエリ結果セットの行数を取得し、結果を $count 変数に保存します。データ行の取得と同様に、PDOStatement オブジェクトの fetch() メソッドまたは fetchAll() メソッドを呼び出すことで、結果セットの行コレクションを取得できます。
結論
この記事では、PHP でデータベースのクエリとカウントを実行する方法を紹介しました。 MySQLi と PDO 拡張ライブラリを使用してデータベースに接続し、クエリとカウントを実行する方法を学びました。また、クエリ結果から行データを取得し、その結果をユーザー インターフェイスに出力する方法についても説明しました。これらのヒントは、Web ベースのアプリケーションや Web サイトを開発する開発者にとって非常に役立ちます。
以上がPHPデータベースクエリ数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。