Maison > Questions et réponses > le corps du texte
P粉5548420912023-08-22 19:56:41
Utilisez mysqli_fetch_row()
. Essayez le code suivant :
$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粉0109671362023-08-22 19:34:43
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
Lorsque des variables doivent être utilisées dans des requêtes, des instructions prétraité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 ce processus doit être suivi est expliquée dans cette fameuse Question.
Dans votre cas, aucune variable n'est utilisée dans la requête, vous pouvez utiliser la query()
méthode :
$query = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;