몇가지 궁금증이 생겨 질문글을 남기게 되었습니다.
PDO로 바인딩하여 쿼리를 날릴때 int 형식이 string으로 변환됩니다.... 왜그런지 모르겠습니다.
소스한번보시죠
Copy
$pdo = new PDO($dns, 'id', 'pass'); //pdo 연결
$bind = array(':id' => 1); // int타입
$sql = "SELECT * FROM member WHERE idx = :idx";
$stmt = $pdo->prepare($sql);
$stmt->execute($bind);
위의 코드처럼 바인딩하여 조회를하는데요.
:id의 값이 int타입으로 넘겨주는데
SELECT * FROM member WHERE idx = 1;
WHERE 조건절에 idx = 1 //int
이렇게 되어야 정상이라고 생각하는데
쿼리 로그를 보면
SELECT * FROM member WHERE idx = '1';
string 타입으로 변환하여 검색을 합니다.
이거 이렇게되도 상관없나요?
답변 3개
채택된 답변
+20 포인트
답변을 작성하려면 로그인이 필요합니다.