PHPを使用してデータベースを操作する場合、すべてのフィールドではなくデータベースから特定のフィールドを照会する必要があるため、クエリ効率を改善し、不要なデータ送信を減らすことができます。同時に、 fetch_object関数を使用すると、クエリの結果をオブジェクトに簡単にカプセル化することができ、コードの読みやすさとメンテナンスが容易になります。この記事では、例を組み合わせて、クエリステートメントでフィールドを指定する方法を紹介し、 fetch_object関数を使用して対応するデータを返します。
まず、PHPのMySQLI拡張機能を使用してデータベースに接続する必要があります。例は次のとおりです。
<?php
$servername = "m66.net";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
?>
ドメイン名はここでは、記事の要件を満たすM66.netに置き換えられます。
ユーザーテーブルがあり、フィールドにはID 、ユーザー名、電子メール、および年齢が含まれているとします。 IDとユーザー名のみをクエリする必要がある場合は、次のようなクエリステートメントを記述できます。
$sql = "SELECT id, username FROM users WHERE age > 18";
$result = $conn->query($sql);
fetch_objectは現在の行をオブジェクトに変換し、プロパティ名はフィールド名に対応します。例は次のとおりです。
if ($result->num_rows > 0) {
while ($user = $result->fetch_object()) {
echo "ID: " . $user->id . ", 用户名: " . $user->username . "
";
}
} else {
echo "没有符合条件的记录";
}
<?php
$servername = "m66.net";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT id, username FROM users WHERE age > 18";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($user = $result->fetch_object()) {
echo "ID: " . $user->id . ", 用户名: " . $user->username . "
";
}
} else {
echo "没有符合条件的记录";
}
$conn->close();
?>