Я ищу, как вставить несколько записей из таблицы 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;
Таблица «курсы» содержит несколько записей, каждая из которых — идентификатор учителя, идентичный текущему идентификатору пользователя, определенному в начале. Когда я печатаю_r ($ _ SESSION [‘courseinfo’]); он отображает только одну из записей в таблице.
Я пытаюсь создать цикл, который отображает всю информацию, собранную для каждой записи, так как вы не будете точно знать, сколько записей вы получите в любой момент времени. Любые ответы с благодарностью!
Вы можете получить все свои записи с изменением fetch -> fetchAll () доктор
$rows = $stmt->fetchAll();
Сессии также могут хранить массивы и объекты (они сериализуются автоматически). Таким образом, вы можете просто сохранить весь набор результатов там.
$_SESSION['courseinfo'] = $rows;
Примечание: рассмотрите возможность использования другого места хранения для всех возвращаемых данных, если их много, а в хранилище сеанса только идентификаторы.
$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 () для извлечения всей записи согласно вашему запросу