반응형
PDO:: 10진수 타입의 PARAM?
2개의 데이터베이스 필드가 있습니다.
`decval` decimal(5,2)
`intval` int(3)
업데이트를 위한 2개의 pdo 쿼리가 있습니다.int를 갱신하는 것은 정상적으로 동작합니다.
$update_intval->bindParam(':intval', $intval, PDO::PARAM_INT);
소수점 필드를 업데이트할 수 없습니다.아래 세 가지 방법을 시도해 봤지만 소용이 없습니다.
$update_decval->bindParam(':decval', $decval, PDO::PARAM_STR);
$update_decval->bindParam(':decval', $decval, PDO::PARAM_INT);
$update_decval->bindParam(':decval', $decval);
데이터베이스 유형에 문제가 있는 것 같습니다.decimal
?가 있습니까?PDO::PARAM
타이프 분야에서는decimal
? 그렇지 않은 경우 회피책으로 무엇을 사용해야 합니까?
없어요PDO::PARAM
소수점/부두에 대해서는, 당신은 사용해야 할 것이다.PDO::PARAM_STR
.
UP는 PDO를 사용해야 합니다.PARAM_STR도 마찬가지입니다.데이터베이스의 컬럼이 NUMERIC(M, D) 또는 DIMAL(M, D) 타입의 경우, M은 문자수이며, 정밀도는 입력할 수 있는 문자의 합계이며, D는 소수 자릿수입니다.숫자(10,2) 예제에서는 정확도가 높은 위치에 8개의 집과 소수점 두 자리가 있습니다.그래서 총 10글자가 있고 소수점 이하에 2글자가 예약되어 있습니다.
해결책을 찾았습니다. PDO와 같은 10진수 파라미터를 전송합니다.SQL 서버 스토어 프로시저에서 PARAM_STR은 10진수(int,dec)와 같이 수신합니다.
PHP
$stmt_e->bindParam(':valor_escala_desde', $valor_escala_desde, PDO::PARAM_STR);
SQL Server, 저장 절차:
@valor_escala_desde decimal(18,2),
완료했습니다.
PDO 사용:유형 int 또는 Bool이 아닌 모든 열 유형에 대한 PARAM_STR
언급URL : https://stackoverflow.com/questions/2718628/pdoparam-for-type-decimal
반응형
'programing' 카테고리의 다른 글
정해진 길이에 도달하기 위해 문자열을 패딩할 수 있는 JavaScript 함수가 있나요? (0) | 2023.02.06 |
---|---|
MySQL 발생 횟수가 2를 초과합니다. (0) | 2023.02.06 |
**kwargs 인수를 **kwargs를 사용하여 다른 함수에 전달합니다. (0) | 2023.02.06 |
PHPnit을 사용하여 PHP 헤더 테스트 (0) | 2023.02.06 |
Java에서 숫자를 단어로 변환하는 방법 (0) | 2023.02.06 |