簡體   English   中英

如何從SQL中選擇多個記錄並插入到Session中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM