집 >데이터 베이스 >MySQL 튜토리얼 >PHP의 MySQL에서 정수 및 숫자 열을 기본 유형으로 검색하는 방법은 무엇입니까?
MySQL의 정수 및 숫자 열을 PHP의 정수 및 숫자로 어떻게 반환합니까?
PHP에서 MySQL 데이터베이스로 작업할 때 다음 사항을 확인하세요. 정수 및 숫자 열이 올바르게 검색되고 표시되는지가 중요합니다. PHP의 PDO 확장이 이를 수행하는 방법을 제공하지만 MySQL 기본 드라이버를 사용하지 않는 경우 문제가 될 수 있습니다.
정수 열이 문자열로 반환되는 이유
MySQL 네이티브 드라이버는 숫자 값을 정수 및 숫자로 반환하는 기능을 지원하지 않습니다. 이는 기본적으로 모든 열이 문자열로 검색됨을 의미합니다. PDO 플래그 PDO::ATTR_STRINGIFY_FETCHES가 false로 설정된 경우에도 드라이버의 동작은 변경되지 않습니다.
수정 방법
해결책은 mysqlnd PHP용 드라이버. 이 드라이버는 기본 PHP 유형의 정수 및 숫자 값 반환을 지원합니다.
설치
Ubuntu에 mysqlnd 드라이버를 설치하려면 다음 단계를 사용할 수 있습니다.
확인
mysqlnd 드라이버가 사용되고 있는지 확인하려면 다음을 실행하세요. php -i. 이제 출력에는 pdo_mysql 섹션에 "mysqlnd"가 포함되어야 합니다.
PDO 설정
다음 PDO 설정이 올바르게 설정되었는지 확인하세요.
반환된 값
mysqlnd 드라이버에서는 다음 반환 유형이 사용됩니다.
예
mysqlnd 드라이버로 전환한 후 정수 및 숫자 값을 올바르게 검색할 수 있습니다.
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); $result = $pdo->query('SELECT * FROM table'); $row = $result->fetch(PDO::FETCH_OBJ); echo $row->integer_col; // 1 (int) echo $row->double_col; // 1.55 (float) echo $row->decimal_col; // '1.20' (string) echo $row->bigint_col; // '18446744073709551615' (string)
위 내용은 PHP의 MySQL에서 정수 및 숫자 열을 기본 유형으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!