ホームページ > バックエンド開発 > PHPチュートリアル > MySQLi を使用して単一のデータベース レコードを効率的に取得するにはどうすればよいですか?

MySQLi を使用して単一のデータベース レコードを効率的に取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-26 06:41:09
オリジナル
944 人が閲覧しました

How to Efficiently Retrieve a Single Database Record Using MySQLi?

MySQLi を使用したデータベースからの単一レコードの取得

データベースからの単一レコードの取得は、ループに頼らずに MySQLi を使用して実現できます。効率的なデータの取得には、関連する構文と手法を理解することが重要です。

連想配列行の取得

行全体を連想配列として取得するには、 fetch_assoc( ) 結果オブジェクトのメソッド。たとえば、「users」テーブルから行を取得するには:

<?php
// Connect to the database
$query = "SELECT * FROM users LIMIT 1";
$result = $conn->query($query);
$row = $result->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
ログイン後にコピー

単一値のフェッチ

特定の値のみが必要な場合は、 fetch_column( )メソッド(PHP8.1以降)が使用可能です。 8.1 より前の PHP バージョンの場合は、 fetch_row()[0] 構文を使用します。たとえば、データベース内のユーザー数を取得するには:

<?php
// Connect to the database
$query = "SELECT COUNT(*) FROM users";
$result = $conn->query($query);
$count = $result->fetch_column();

// Print the user count
echo "Total users: {$count}";
?>
ログイン後にコピー

変数を含むプリペアド ステートメントの使用

クエリで変数を使用する必要がある場合は、プリペアド ステートメントを使用します。 SQL インジェクションを防ぐには、ステートメントを使用する必要があります。 PHP 8.2 以降の場合は、execute_query() メソッドを使用します。

<?php
// Connect to the database
$query = "SELECT * FROM users WHERE id = ?";
$id = 1;
$row = $conn->execute_query($query, [$id])->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
ログイン後にコピー

8.2 より前の PHP バージョンの場合は、ステートメントを手動で準備して実行します。

<?php
// Connect to the database
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param('s', $id); // Bind the variable as a string
$id = 1;
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

// Print the user's name
echo "Name: {$row['name']}";
?>
ログイン後にコピー

以上がMySQLi を使用して単一のデータベース レコードを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート