> 데이터 베이스 > MySQL 튜토리얼 > PDO가 LIMIT 절 변수에 따옴표를 추가하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

PDO가 LIMIT 절 변수에 따옴표를 추가하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-24 00:17:10
원래의
251명이 탐색했습니다.

Why Does PDO Add Quotes to LIMIT Clause Variables and How Can I Fix It?

bindValue 메서드를 사용하는 LIMIT 절에 오류가 발생했습니다.

페이지 매김을 구현하려고 시도하는 동안 개발자가 바인딩값 메서드를 사용하는 동안 SQL 구문 오류가 발생했습니다. LIMIT 절을 사용합니다. 쿼리에서 LIMIT 부분의 변수에 작은따옴표가 추가된다는 오류가 발생했습니다.

추가 조사를 통해 개발자는 문서화된 PHP의 알려진 버그(bugid 44639)와 잠재적인 관련성을 발견했습니다. 2008년부터. 이 버그는 PDO가 LIMIT의 문자열이 아닌 변수에 자동으로 따옴표를 추가할 수 있음을 시사했습니다. 절.

솔루션:

값을 바인드 함수에 전달하기 전에 정수로 변환하여 이 문제를 해결하는 솔루션이 제공되었습니다. 이렇게 수정하면 SQL 문은 변수를 올바르게 해석하고 구문 오류 없이 쿼리를 실행할 수 있습니다. 업데이트된 코드 조각은 다음과 같습니다.

$fetchPictures->bindValue(':skip', (int) trim($_GET['skip']), PDO::PARAM_INT);
로그인 후 복사

위 내용은 PDO가 LIMIT 절 변수에 따옴표를 추가하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿