Установите результаты SQL в эквивалент сессии

С настройкой таблицы следующим образом:

CID   | FNAM | LNAME | CITY ------> 30 more fields
23432 | John |  Doe  | Denver
54342 | Jane |  Doe  | Boston

и при получении результата установить таким образом (запрос сузил его до 1 результата):

$data = mysqli_query($con,$query);
$row = mysqli_fetch_array($data);

и используя ниже, чтобы установить каждый возвращенный столбец в $ row в эквивалентную переменную SESSION

foreach ($row AS $key=>$value) {$_SESSION["$key"]=$value;}

Почему я получаю соответствующий набор $ _SESSION как с именем $ key, так и набор $ _SESSION с числовой позицией в массиве для каждой строки $, которая была установлена ​​в переменную сеанса ?:

echo $ _SESSION [‘cid’]; Результаты 23432
echo $ _SESSION [‘0’]; Результаты 23432

$ _SESSION [‘cid’] предназначен, но $ _SESSION [‘0’] не предназначен

0

Решение

Потому что вы используете mysqli_fetch_array не mysqli_fetch_assoc

Но в любом случае вы получите только последнюю строку из вашей базы данных, потому что вы всегда перезаписываете данный ключ. Переберите имена полей, создайте массив и добавьте этот массив в массив результатов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]