Maison > développement back-end > tutoriel php > Comment récupérer efficacement un seul enregistrement d'une base de données MySQLi ?

Comment récupérer efficacement un seul enregistrement d'une base de données MySQLi ?

DDD
Libérer: 2024-12-19 22:31:18
original
600 Les gens l'ont consulté

How to Efficiently Fetch a Single Record from a MySQLi Database?

Obtention d'un seul enregistrement à partir d'une base de données à l'aide de MySQLi

La récupération de lignes uniques d'une base de données à l'aide de MySQLi est différente de l'itération sur une série d'enregistrements. Pour ce faire, nous utilisons les méthodes de récupération fournies par MySQLi, éliminant ainsi le besoin de boucle.

Récupérer une seule ligne en tant que tableau associatif

Si nous avons besoin de l'intégralité row en tant que tableau associatif, nous pouvons utiliser la syntaxe suivante :

$row = $result->fetch_assoc();
Copier après la connexion

Cela attribue la première ligne de l'ensemble de résultats au $row variable, qui peut ensuite être utilisée pour accéder aux valeurs de colonnes individuelles.

Récupération d'une valeur unique

Pour les cas où une seule valeur est requise, nous pouvons utiliser :

// PHP 8.1+
$value = $result->fetch_column();

// Older PHP versions
$value = $result->fetch_row()[0] ?? false;
Copier après la connexion

Cette dernière syntaxe vérifie les valeurs nulles et renvoie false si elle est rencontrée.

Exemple Utilisation

Considérez l'exemple de requête pour récupérer la première ligne de la table "users" :

$sql = "SELECT * FROM users LIMIT 1";
$row = mysqli_query($conn, $sql)->fetch_assoc();
Copier après la connexion

Maintenant, nous pouvons accéder à des valeurs spécifiques en utilisant $row['column_name'] , tels que :

$name = $row['name'];
$email = $row['email'];
Copier après la connexion

Utilisation de variables dans Requêtes

Lors de l'utilisation de variables dans des requêtes SQL, il est crucial d'utiliser des instructions préparées pour empêcher l'injection SQL. Par exemple, pour récupérer une ligne basée sur un identifiant spécifique :

// PHP 8.2+
$id = 123;
$sql = "SELECT * FROM users WHERE id = ?";
$row = $conn->execute_query($sql, [$id])->fetch_assoc();

// Older PHP versions
$id = 123;
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("s", $id);
$stmt->execute();
$row = $stmt->get_result()->fetch_assoc();
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal