쿼리는에서 : 는 뭔가요?

쿼리는에서 : 는 뭔가요?

QA

쿼리는에서 : 는 뭔가요?

답변 3

본문

외주업체에서 만든 코드를 받았는데



$strSQL = " select * from mpr_media where agency=:agency ";


이런게 있네요. : 는 무슨 뜻인가요?

이 질문에 댓글 쓰기 :

답변 3

$strSQL = " select * from mpr_media where agency=:agency ";

$stmt = $pdo->prepare($strSQL);

$stmt->bindValue(":agench", $agency, PDO::PARAM_STR);

위에 올리신 글 밑에서 혹시 이런 비슷한 게 보이나 보세요. bindValue 말고 bindParam 이런 것도 있습니다.

요즘은 잘 안 써서 정확히 기억은 안 나는데 칼럼명에 저렇게 생긴 문자열 대입해서 하는 게 pdo에서 쓰는 방식이라서요.

mysql 에서 := 는 대입 연산자 입니다.

 

일반적으로 

update 문에서 = 을 쓰면 대입 연산자가 되죠

update 테이블 set a=1   <= a칼럼에 1을 대입하란 의미죠

 

select 에서 = 은 비교연산자 입니다

select * 테이블 where a=1 <= a칼럼이 1인지 비교하게 됩니다.

select 에서 대입연산자 라는 것은 지정해주기 위해서

select * 테이블 where a := a

이런식으로 처리해줍니다

위 쿼리 상단에 

set @agency = ""; 처럼 상수가 정의되어있을껀데

이값을 비교연산자가 아닌 대입연산자로 처리해주기 위해서 위처럼 사용합니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,543
© SIRSOFT
현재 페이지 제일 처음으로