Maison > Questions et réponses > le corps du texte
P粉9304480302023-08-22 21:34:58
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粉2657249302023-08-22 12:11:29
Pas besoin d'utiliser une boucle lorsqu'un seul résultat est nécessaire. Obtenez la ligne directement.
Si vous avez besoin d'obtenir la ligne entière de données sous forme de 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
Lors de l'utilisation de variables dans des requêtes, des instructions préparées doivent être utilisées. Par exemple, disons que nous avons une variable $id
:
PHP >= 8,2
// 获取单行数据 $sql = "SELECT fullname, email FROM users WHERE id=?"; $row = $conn->execute_query($query, [$id])->fetch_assoc(); // 如果只需要一个值 $sql = "SELECT count(*) FROM users WHERE id=?"; $count = $conn->execute_query($query, [$id])->fetch_column();
Ancienne version de PHP :
// 获取单行数据 $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(); // 如果只需要一个值 $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. La raison pour laquelle cette démarche doit être suivie est expliquée dans cette fameuse question
Dans votre cas il n'y a aucune variable à utiliser dans la requête, vous pouvez utiliser la méthode query()
:
$query = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;