mysql 초보 질문입니다~

mysql 초보 질문입니다~

QA

mysql 초보 질문입니다~

본문

안녕하세요~

mysql select 문에서


WHERE aa_type = ? AND bb_dt_state = 1


aa_type = ? 

물음표가 있는내용은 어떤내용인가요..?

검색이 되지 않아

질문을 던져보네요..

미리 답변에 감사드립니다~~

이 질문에 댓글 쓰기 :

답변 3

sql 인젝션과 같은 외부 공격에 방어하기 위한 목적과, 

쿼리 속도를 증가 시키기 위한 목적,,

쿼리 구문과 파라메타를 매핑할려는 목적,, 등

여러가지 이유 때문에 bind_param 을 사용합니다.

 

그누보드는 bind_param 을 사용하지 않는데, 아마도 초보자가 쿼리를 이해하고 응용하는데 어려움이 있어 난이도를 낮추기 위한 목적이 아닐까 합니다.

 

실무에서는 무조건 bind_param을 쓰셔야 합니다. 안 그러면 사수님한테 욕먹거나, 그누보드 욕을 할거에요.

어렵다고 외면하지 마시고, bind_params 으로 된 코드를 응용해서 본인도 bind_params을 쓰시는게 좋습니다.

 

bind_params을 사용하기 위해서는 mysqli_ 또는 PDO 를 호출하여 DB와 접속합니다.

기본 코드로 작성하면, 코드도 길어지고 중복되어 가독성이 나쁩니다.  그래서 보통 이를 Wrapper 한 클래스를 사용하는데

전체 코드를 본것이 아니라서, 코드로 가이드를 드리기는 어렵고, 위에 얘기한것처럼 기존에 동작하는 코드를 충분히 숙도하여 응용하시는걸 추천드립니다. 

 

bind_params 을 꼭 쓰세요.

 

 

전체 코드를 봐야겠지만 ? 가 들어간거를 보니 bind_param 말씀하시는거 같네요.

 

아마 그 sql문 아래쪽 코드에 ? 에 들어갈 값을 세팅하는 코드가 있을 것입니다.

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

회원로그인

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