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
DDDoriginal
2024-12-19 22:31:18646parcourir

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();

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;

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();

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

$name = $row['name'];
$email = $row['email'];

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();

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!

Déclaration:
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