Résultat unique pour la base de données utilisant MySQLi
P粉226642568
P粉226642568 2023-08-29 13:20:44
0
2
630
<p>C'est la première fois que j'essaie MySQL. Je l'ai fait en boucle. Les résultats de la boucle s'affichent, mais lorsque j'essaie d'afficher un seul enregistrement, je reste bloqué. C'est le code de boucle en action. </p> <pre class="brush:php;toolbar:false;"><?php // Connexion à la base de données $hostname="localhost"; $database="monnomdebase"; $username="racine"; $mot de passe=""; $conn = mysqli_connect($nom d'hôte, $nom d'utilisateur, $mot de passe, $base de données); ?> <?php $query = "SELECT ssfullname, ssemail FROM userss ORDER BY ssid"; $result = mysqli_query($conn, $query); $num_results = mysqli_num_rows($result); ?> <?php /*Parcourir chaque ligne et afficher les enregistrements */ pour($i=0; $i<$num_results; $i++) { $row = mysqli_fetch_assoc($result); ?> Nom : <?php print $row['ssfullname'] ?> <br /> E-mail : <?php print $row['ssemail'] ; <br /><br /> <?php // fin de la boucle } ?>≪/pré> <p>Comment puis-je afficher un seul enregistrement, n'importe quel enregistrement, nom ou adresse électronique, à partir de la première ligne ou autre, juste un seul enregistrement, comment faire ? En cas d'enregistrement unique, envisagez de supprimer toutes les parties en boucle ci-dessus et affichons n'importe quel enregistrement unique sans boucle. </p>
P粉226642568
P粉226642568

répondre à tous(2)
P粉321676640

Utilisez mysqli_fetch_row(). Essayez ceci,

$query = "SELECT ssfullname, ssemail FROM userss WHERE user_id = ".$user_id;
$result = mysqli_query($conn, $query);
$row   = mysqli_fetch_row($result);

$ssfullname = $row['ssfullname'];
$ssemail    = $row['ssemail'];
P粉675258598

Les boucles ne doivent pas être utilisées lorsqu'un seul résultat est requis. Obtenez la ligne maintenant.

  • Si vous devez extraire la ligne entière dans un tableau associatif :

    $row = $result->fetch_assoc();
  • Si vous n'avez besoin que d'une seule valeur, à partir de PHP 8.2 :

    $value = $result->fetch_column();
  • Ou pour les anciennes versions :

    $value = $result->fetch_row()[0] ?? false;

Voici des exemples complets de différents cas d'utilisation

Variables utilisées dans les requêtes

Lorsque vous souhaitez utiliser des variables dans une requête, vous devez utiliser des Déclarations préparées. Par exemple, disons que nous avons une variable $id :

PHP >= 8.2

// get a single row
$sql = "SELECT fullname, email FROM users WHERE id=?";
$row = $conn->execute_query($query, [$id])->fetch_assoc();

// in case you need just a single value
$sql = "SELECT count(*) FROM users WHERE id=?";
$count = $conn->execute_query($query, [$id])->fetch_column();

Ancienne version PHP :

// get a single row
$query = "SELECT fullname, email FROM users WHERE id=?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $id);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

// in case you need just a single value
$query = "SELECT count(*) FROM userss WHERE id=?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $id);
$stmt->execute();
$result = $stmt->get_result();
$count = $result->fetch_row()[0] ?? false;

Une explication détaillée du processus ci-dessus peut être trouvée dans mon article. Quant à savoir pourquoi vous devez le suivre, voyez cette fameuse question

Aucune variable dans la requête

Dans votre cas, si aucune variable n'est utilisée dans la requête, vous pouvez utiliser la méthode query() :

$query = "SELECT fullname, email FROM users ORDER BY ssid";
$result = $conn->query($query);
// in case you need an array
$row = $result->fetch_assoc();
// OR in case you need just a single value
$value = $result->fetch_row()[0] ?? false;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal