P粉9304480302023-08-22 21:34:58
使用mysqli_fetch_row()
。嘗試這樣做:
$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
當只需要一個結果時,就不需要使用迴圈。直接獲取行。
如果需要將整行資料取得為關聯數組:
$row = $result->fetch_assoc();
如果只需要一個值,從PHP 8.2開始:
$value = $result->fetch_column();
或較舊版本:
$value = $result->fetch_row()[0] ?? false;
以下是不同用例的完整範例
當在查詢中使用變數時,必須使用預處理語句。例如,假設我們有一個變數$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();
舊版的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;
上述過程的詳細解釋可以在我的文章中找到。為什麼必須遵循這個過程的原因在這個著名的問題中有解釋
在您的情況下,查詢中沒有要使用的變量,您可以使用query()
方法:
$query = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;