PDO를 사용하여 MySQL에서 숫자 데이터 유형 검색
PDO 및 MySQL을 사용할 때 데이터베이스에서 검색된 숫자 값이 다음과 같은 경우가 발생할 수 있습니다. 숫자 데이터 유형 대신 문자열로 반환됩니다. 이러한 차이는 PHP 데이터베이스 개체(PDO) 확장의 기본 동작으로 인해 발생할 수 있습니다.
숫자 대신 문자열을 사용하는 이유는 무엇입니까?
안타깝게도 다음과 같은 경우가 비교적 일반적입니다. 데이터베이스를 쿼리할 때 숫자 대신 문자열을 받습니다. 이는 PDO 확장이 일반적으로 지원되는 모든 데이터베이스 드라이버와의 호환성을 보장하기 위해 데이터베이스의 숫자 값을 문자열로 변환하기 때문에 발생합니다.
문자열 변환 비활성화
PDO가 문자열화하는 것을 방지하려면 숫자 값의 경우 PDO 속성 PDO::ATTR_EMULATE_PREPARES를 수정할 수 있습니다. 이 속성을 false로 설정하면 준비된 명령문 에뮬레이션을 비활성화하고 MySQL이 숫자 유형을 포함한 기본 데이터 유형을 반환하도록 허용할 수 있습니다.
$dsn = 'mysql:dbname=database;host=localhost'; $pdo = new PDO($dsn, $user, $pass, array( PDO::ATTR_EMULATE_PREPARES => false ));
PDO::ATTR_STRINGIFY_FETCHES
PDO::ATTR_STRINGIFY_FETCHES 속성은 MySQL PDO 드라이버에 적용할 수 없습니다. 이 속성은 기본 데이터 유형 대신 문자열 반환을 지원하는 다른 데이터베이스 드라이버를 위한 것입니다.
따라서 PDO의 준비된 문 에뮬레이션을 비활성화하면 숫자 값이 기본 데이터 유형으로 반환되어 문자열화를 방지하고 허용할 수 있습니다. 데이터를 올바르게 작업할 수 있습니다.
위 내용은 문자열 변환 없이 PDO를 사용하여 MySQL에서 숫자 데이터 유형을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!