나는 쿼리를 실행 한 다음 결과 변수를 다른 파일의 논리에 사용하는 함수를 개발했습니다. 이를 달성하기 위해 전역 변수를 사용했습니다. 전역 변수를 읽지 않았으므로 전역 변수 사용을 피하기 위해이 함수를 작성하는 또 다른 방법이 있습니다.PHP에서 전역 변수를 사용하는 대신
파일 1 (기능 파일)
<?php
function usertype()
{
include "../classes/sessionstart.php";
include "../config/dbconnect.php";
$user_id = $_SESSION['user_id'];
$select = $con->prepare("SELECT user_usertype, user_gender FROM tbl_user WHERE user_id = $user_id");
$select->setFetchMode(PDO::FETCH_ASSOC);
$select->execute();
while($data=$select->fetch()){
$GLOBALS['gender'] = $data['user_gender'];
$GLOBALS['usertype'] = $data['user_usertype'];
}
}
?>
파일 2 (파일은 기능 파일 사용)
<?php
usertype();
?>
<div>
<select class="searchpropertyinputs" name="user_usertype" id="user_usertype">
<?php if ($gender == "Male" && $usertype != "Marriage Bureau") { ?> <option value="Bride">Bride</option> <?php } ?>
<?php if ($gender == "Female" && $usertype != "Marriage Bureau") { ?> <option value="Groom">Groom</option> <?php } ?>
<?php if ($usertype == "Marriage Bureau") { ?>
<option value="" hidden>Bride or Groom</option>
<option value="Bride">Bride</option>
<option value="Groom">Groom</option>
<?php } ?>
</select>
</div>
당신은 함수에서 값을 반환해야합니다
예, 함수에 필요한 매개 변수를 전달하십시오. 문자열 보간으로 쿼리를 구성하지 마십시오. – pvg
첫 번째 함수에서 데이터 배열을 반환하고 pvg가 말하는 것처럼 해당 배열을 다음 함수로 전달합니다. 준비된 진술에 자리 표시자를 사용하십시오. – mickmackusa