PHP

SQL 문 사용하기 / 공부하기 / DB명령어/ 해석하기

어렵지만 2024. 5. 15. 18:48

 

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을 조회해줘