반응형
$abc = 'apple';
PDO::BindValue(':aaa',$abc);
PDO::BindParam(':aaa',$abc);
$abc = 'banana';
대충 이런 상황이 있다고 한다면. (위의 예시는 대충 보기 쉽게 생략해서 쓴 구문입니다)
BindValue 는 apple 이라는 값이 들어가고,
BindParam 에는 banana 라는 값이 들어가게 된다.
이유인즉슨, BindValue 는 값만 복사되서 대입되는 것이고.
BindParam 은 포인터값이 들어가는 개념이기 때문이다.
이후에 execute(); 를 호출할 때까지 변수에 있던 값이 들어가는게 BindParam 이다.
Java 에서도 Prepared 하는 방식에서는 마찬가지의 개념이 있던 걸로 기억한다.
이렇게 나눠놓는 이유는, 잘 구성해놓으면 BindParam 으로, 구문을 미리 다 Prepare 시켜놓고. 사용할 때에만 계속 execute 시켜버리면 되기 때문이다.
쿼리문을 준비시켜놓고, execute 만 반복시키는게 편한 경우가 생긴다. 예를 들면, 여러건을 처리하거나 할 때에 말이다.
반응형
'개발 > PHP' 카테고리의 다른 글
[php] javascript boolean 값 받을 때 문제. (0) | 2019.02.20 |
---|---|
[PHP] 클라우드 플레어 유저 아이피 HTTP_CF_CONNECTING_IP (1) | 2017.02.18 |
[PHP][mysql] inet_aton('::1') 에러 (0) | 2017.02.11 |
[코드이그나이터 Codeigniter] Codeigniter 로 알아본 redirect location refresh 의 차이 (0) | 2017.01.19 |
[PHP] strpos, stripos (0) | 2016.01.19 |
[codeigniter] xss_clean (0) | 2015.10.04 |
[이클립스]cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link1'. the parent resource is not accessible. (0) | 2015.07.17 |
[PHP][이클립스] 이클립스에서 class code assist 가 안 될 때 (0) | 2015.07.16 |