세션 내에 두 개의 HTML 페이지가 있습니다. 첫 번째 페이지에서 $ _SESSION 변수에 저장되는 배열을 만들고 싶습니다. 두 번째 페이지에서 배열을 표시하려고합니다. 첫 페이지mysqli_fetch_assoc의 While 함수는 무한합니다.
PHP 코드는 다음과 같습니다 내가 두 번째 페이지로 이동하면
<?php while ($array = $_SESSION["questions"]) {
echo $array["question"]; } ?>
, 무한 루프가 표시됩니다 내 두 번째 페이지에
<?php
include ("../script/db_connect.php");
$select_questions = 'select * from questions ';
if (isset($_POST["own"]) && $_POST["own"] == "No") {
$select_questions .= 'where creator != '
. $_SESSION["id"];
}
$select_questions .= 'limit 3';
$questions_result = mysqli_query($con, $select_questions);
$_SESSION["questions"] = mysqli_fetch_assoc($questions_result);
mysqli_close($con);
?>
PHP 코드가 같다 여기서 배열의 첫 번째 요소 만 반복해서 표시됩니다. 그 이유는 무엇입니까? 내 코드에서 실수를 찾을 수 없습니다.
Do'$ array = array_shift ($ _ SESSION [ "questions"])'그렇지 않으면 같은 데이터로 새 값을 설정하고 그 값이 infiniti가됩니다. – JustOnUnderMillions
하지만 mysqli_fetch_assoc ($ questions_result)를 사용하여 행에서만 페치하는 경우 왜'while'을 사용합니까? 'while ($ array = mysqli_fetch_assoc ($ questions_result))' – JustOnUnderMillions