mysql pdo 쿼리 질문합니다.

mysql pdo 쿼리 질문합니다.

QA

mysql pdo 쿼리 질문합니다.

본문

현재 이건 mysql로 되어있는 상태인데

pdo 로 바꾸려고 하는데 하단의 코드중에 이해 안되는 부분 질문합니다!

 

(불필요한 코드 생략 했습니다)


$que = "update member set todayLoginState = '1' // 코드생략
 
    if ($row_dep['dep'] == 0){
$que .= " ,loginDateCount = loginDateCount + 1 ";
}

 

여기서 $que .=           이게 이해가 안갑니다. 선배님들

.= 요거는 무슨 역할을 해주는거죠?

 

 

이 질문에 댓글 쓰기 :

답변 3

$str = "테스트입니다.";

$str .= "지금";

 

echo $str;

-------------------------

결과 : 테스트입니다. 지금

 

이렇게 문자열을 연결할 수 있습니다.

pdo랑은 전혀 상관이 없지만 php에서 사용하는 연결자예요.

$a = "aa";

$b = "bb";

echo $a.$b;

이렇게 하면 aabb로 찍힙니다.

 

$row_dep['dep'] 이 변수의 값이 0이 아닐 경우 echo $que; 하면

update member set todayLoginState = '1'

이 쿼리만 실행이 됩니다.

만약 0이라면

update member set todayLoginState = '1', loginDateCount = loginDateCount + 1

이렇게 쿼리가 실행되구요.

count(*) as cnt는

count(*) 는 해당 테이블의 조건에 일치하는 행 갯수가 몇개인지 세는 함수입니다.
그리고 뒤의 as cnt는 해당 열의 이름을 정의하는 구문입니다
즉 해당 결과값을 cnt의 열에 출력하겠다는 뜻입니다

PHP 에서 . 의 역할은

 

변수와 변수 혹은

문자열과 문자열을 이어주는 연결자 입니다.

 

https://dasima.xyz/php-string-operator/

 

그리고 = 은 대입연산자 입니다.

 

$변수 = $변수 . $변수2;

이렇게 사용하는게 일반적인데

 

$변수 = $변수  와 같이 중복될경우

 

$변수 = $변수 o <-- 이곳에 오는 연산자를

 o= 와 같은 형식으로 구성이 가능한 문법을 가집니다.

 

따라서 

 .=  의 의미는

  O = O . X

  를

  O .= X

와 같이 만들수 있습니다.

위의 예에서 O 와 X 는 각 변수 혹은 문자열 입니다.

 

질문하신 대로 다시 연결하면

$str = " update table set x = 1 ";

$str  .=  " where 조건...";

 

와 같이 한경우 

문자열로 SQL구문을 만들다가 가독성의 이유 혹은 조건에 따른 변수 대입의 이유 로

분리시켜서 나타낼때 주로 사용합니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 122,919 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT