Maison > Questions et réponses > le corps du texte
P粉3216766402023-08-30 11:43:49
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粉6752585982023-08-30 09:34:29
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
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
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;