PDO를 사용하여 MySQL에서 숫자 유형 검색
문제:
PDO를 사용하는 MySQL 데이터베이스에서는 정수 값이 숫자 유형 대신 문자열로 반환됩니다. PDO 클래스 속성 PDO::ATTR_STRINGIFY_FETCHES가 false로 설정된 경우.
답변:
숫자 유형 문제 이해:
데이터베이스가 숫자 값을 문자열로 반환하는 것이 일반적입니다. 이는 MySQL의 기본 드라이버와 같은 일부 데이터베이스 드라이버가 모든 값을 문자열로 처리하기 때문입니다.
문자열화 방지:
값이 문자열로 반환되는 것을 방지하려면 MySQL 네이티브 드라이버(mysqlnd)를 사용해야 합니다. 이 드라이버는 숫자 유형을 포함한 기본 데이터 유형 검색을 지원합니다.
mysqlnd 구성:
mysqlnd를 사용하려면 PDO 연결 옵션 배열에 다음 설정을 추가해야 합니다.
array( PDO::ATTR_EMULATE_PREPARES => false )
예시 코드:
$dsn = 'mysql:host=localhost;dbname=my_db'; $user = 'root'; $pass = 'password'; $pdo = new PDO($dsn, $user, $pass, array( PDO::ATTR_EMULATE_PREPARES => false ));
PDO::ATTR_EMULATE_PREPARES를 false로 설정하면 준비된 명령문 에뮬레이션이 꺼지고 mysqlnd가 숫자 값을 올바른 데이터 유형으로 검색할 수 있습니다.
위 내용은 PDO에서 MySQL 정수가 문자열로 반환되는 이유는 무엇이며, 이를 숫자로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!