[英]How to select multiple records from SQL and insert into a Session
我正在尋找如何將SQL表中的多個記錄插入到會話變量或多個唯一會話變量中。
$userID = $_SESSION['user']['id'];
$coursequery = "
SELECT
coursename,
location,
description
FROM courses
WHERE
teacherID = '$userID'
";
try
{
$stmt = $db->prepare($coursequery);
$result = $stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$row = $stmt->fetch();
$_SESSION['courseinfo'] = $row;
表“courses”里面有一些記錄,所有記錄都是在開始時定義的當前userID的內容。 當我print_r($ _ SESSION ['courseinfo']); 它只顯示表中的一條記錄。
我正在嘗試為每條記錄創建一個顯示所有抓取信息的循環,因為您無法確定在任何給定時間內您將獲取多少條記錄。 任何答案都非常感謝!
$userID = $_SESSION['user']['id'];
$coursequery = "
SELECT
coursename,
location,
description
FROM courses
WHERE
teacherID = '$userID'
";
try
{
$stmt = $db->prepare($coursequery);
$result = $stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
while ($row = $stmt->fetch()):
$row['YourColumn'];
endwhile;
使用while()循環根據您的查詢獲取所有記錄
您可以通過更改fetch - > fetchAll() doc來獲取所有記錄
$rows = $stmt->fetchAll();
會話還可以存儲數組和對象(它們會自動序列化)。 所以你可以在那里存儲整個結果集。
$_SESSION['courseinfo'] = $rows;
附注:考慮為所有返回的數據使用另一個存儲位置(如果很多),並且在會話存儲中僅使用ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.