테스트 사이트 - 개발 중인 베타 버전입니다

쿼리는에서 : 는 뭔가요? 채택완료

레드불355 3년 전 조회 3,749

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

</span></p>

<pre>
<span style="font-size:11pt;">$strSQL = " select * from mpr_media where agency=:agency ";
</span></pre>

<p><span style="font-size:11pt;">

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

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

$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 = ""; 처럼 상수가 정의되어있을껀데

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

레드불355
3년 전
감사합니다. 근데 agency = '{$agency }' 와 다른 점은 무엇인가요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인