2011-08-03 2 views
1

테이블에 정수 열이 있는데 비교할 때 다음 코드가 작동하는 것 같습니다.PDO 바인드 데이터 유형 및 비교

bindParam의 세 번째 매개 변수로 PDO :: PARAM_INT를 사용해야합니까? 또한 실제 숫자는 어떻게 처리합니까? PDO :: PARAM_INT를 사용할 수 없으므로 반올림합니다.

+3

어쨌든 정수 열을 반올림합니다. 질문은 왜'PDO :: PARAM_INT'를 사용하지 않을까요? – hakre

+0

PARAM_INT를 사용하지 않고 float 값에 ceil()을 사용하면 4.1이 5로 밝혀지며 4보다 큰 것으로 간주되는 이유는 무엇입니까? – Atomox

답변

0

PHP에서의 숫자 처리는 악명 높습니다. 큰 숫자를 전달하려면 내 조언은 문자열로 유지하는 것입니다.

편집 방금 ​​처리 한 번호를 테스트했습니다. PARAM_INT 큰 숫자 문자열을 잘 작동, 그래서 당신은 PARAM_INT을 사용하지 않아도되지만 정확한되는 : 수레에 관해서는

을에 전혀 해가 없습니다, 당신은 대규모 정밀도를 잃고 PARAM_STR를 사용하여 전달해야합니다.