ホームページ >バックエンド開発 >PHPチュートリアル >mysqli を使用して MySQL データベースから単一のレコードを効率的に取得する方法
MySQL データベースを使用する場合、複数の結果を反復処理するのではなく、単一レコードを取得する必要がある状況が発生することがあります。このガイドでは、mysqli を使用してデータベースから単一の行または値をフェッチする方法を説明します。
行全体を連想配列としてフェッチするには、次の構文を使用します。
$row = $result->fetch_assoc();
これは、キーが列名、値がそれぞれの列名である配列を返します。 data.
単一の値のみが必要な場合は、以下を使用できます。
// PHP >= 8.1 $value = $result->fetch_column(); // Legacy PHP versions $value = $result->fetch_row()[0] ?? false;
PHP バージョン 8.1 より前の場合、 fetch_row() メソッドが使用され、返された配列の最初のインデックスが $value 変数に割り当てられます。 ?? false 演算子は、列が NULL の場合、デフォルト値 false を割り当てます。
クエリで変数を使用する場合は、準備されたステートメントを使用する必要があります:
// PHP >= 8.2 $row = $conn->execute_query($query, [$id])->fetch_assoc(); // Legacy PHP versions $stmt = $conn->prepare($query); $stmt->bind_param("s", $id); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc();
変数が含まれていない場合は、query() を使用しますメソッド:
// Array $user = $conn->query("SELECT * FROM users LIMIT 1")->fetch_assoc(); // Value $count = $conn->query("SELECT count(*) FROM users")->fetch_column(); // Value < 8.1 $count = $conn->query("SELECT count(*) FROM users")->fetch_row()[0];
以上がmysqli を使用して MySQL データベースから単一のレコードを効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。