1. $sql_Email_ch = "SELECT userEmail FROM userinfo WHERE userEmail = :userEmail";
$실행할 SQL 문 = "SELECT 필드값 FROM 테이블 WHERE 필드값(기준) = :바인딩값";
SELECT 절:
SELECT userEmail: 이 부분은 데이터베이스에서 가져올 필드를 지정하는 부분입니다.
여기서는 "userinfo" 테이블에서 "userEmail" 필드 값을 가져옵니다.
이 부분은 반환될 결과에 포함됩니다.
FROM 절:
FROM userinfo: 데이터를 가져올 테이블을 지정하는 부분입니다. 여기서는 "userinfo" 테이블에서 데이터를 가져옵니다.
WHERE 절:
WHERE userEmail = :userEmail: 이 부분은 데이터를 필터링하는 조건을 지정하는 부분입니다.
여기서는 "userEmail" 필드 값이 바인딩된 ":userEmail" 값과 일치하는 행을 선택합니다.
":userEmail"은 나중에 PHP에서 실제 값으로 대체됩니다
2. $stmt = $con->prepare($sql_Email_ch);
[데이터베이스에 실행할 쿼리를 준비합니다. 이것이 안되면 sql문이 전달이 안됩니다.]
$stmt = $db연결할php ->preare($실행할 SQL 문);
$con->prepare($sql_Email_ch): 이 부분은 데이터베이스에 실행할 쿼리를 준비하는 단계입니다.
$con은 데이터베이스 연결 객체이며, prepare() 함수를 사용하여 데이터베이스에 전달할 쿼리를 준비합니다.
이때 $sql_Email_ch 변수에 저장된 쿼리가 사용됩니다.
3. $stmt->bindParam(':userEmail', $userEmail); [바인딩된 변수로 매개 변수를 설정합니다.]
$stmt->bindParam(':1번에입력한바인딩값, $해당변수로 할것이야');
$stmt->bindParam(':userEmail', $userEmail): 이 부분은 쿼리에 사용될 매개 변수를 설정하는 단계입니다. $stmt는 이전에 준비된 쿼리를 나타내며, bindParam() 함수를 사용하여 쿼리에 사용될 매개 변수인 ":userEmail"을 PHP 변수 $userEmail에 바인딩합니다. 이렇게 함으로써 쿼리를 실행할 때 ":userEmail" 매개 변수가 $userEmail 변수의 값으로 대체됩니다.
4. $stmt->execute(); [쿼리를 실행합니다]
$stmt->execute(): 이 부분은 준비된 쿼리를 실행하는 단계입니다.
execute() 함수를 호출하여 데이터베이스 서버에 쿼리를 전송하고 실행합니다.
이렇게 함으로써 데이터베이스에서 주어진 이메일 값과 일치하는 행을 선택하는 쿼리를 실행합니다.
5.$row_ch_Email = $stmt->fetch(PDO::FETCH_ASSOC); [실행 결과를 연관 배열 형태로 가져옵니다.]
$stmt->fetch(PDO::FETCH_ASSOC): 이 부분은 실행된 쿼리의 결과를 가져와서 연관 배열 형태로 저장하는 단계입니다. $stmt 객체의 fetch() 메서드를 사용하여 실행 결과를 가져오는데, PDO::FETCH_ASSOC를 통해 연관 배열 형태로 결과를 가져옵니다. 이렇게 함으로써 데이터베이스에서 선택된 행의 정보를 PHP 변수 $row_ch_Email에 저장합니다.
$sql_Email_ch = "SELECT userEmail FROM userinfo WHERE userEmail = :userEmail";
-> 매개변수로 설정한 userEmail의 기준으로 유저테이블에 있는 userEmail을 조회해줘
'PHP' 카테고리의 다른 글
안드로이드 이메일 인증번호 보내기 / PHPMailer / SMTP / Gmail (1) | 2024.05.12 |
---|---|
login.php / sql문 해석하기 (2) | 2024.05.03 |