>백엔드 개발 >PHP 튜토리얼 >MySQL 정수 필드가 PHP에서 문자열로 반환되는 이유는 무엇입니까?

MySQL 정수 필드가 PHP에서 문자열로 반환되는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-18 11:11:14340검색

Why Are MySQL Integer Fields Returned as Strings in PHP?

PHP에서 문자열로 반환되는 MySQL 정수 필드

PHP를 사용하여 MySQL 데이터베이스에서 데이터를 검색할 때 정수 필드가 반환되는 것이 일반적으로 관찰됩니다. 문자열로. 정수 필드가 정수 값을 생성할 것으로 예상하기 때문에 이는 당황스러울 수 있습니다.

이 동작을 이해하려면 PHP가 MySQL에서 검색된 모든 데이터를 문자열로 자동 변환한다는 점에 유의해야 합니다. 이 변환은 데이터베이스의 실제 데이터 유형에 관계없이 발생합니다.

이 문제를 피하고 올바른 정수 값을 얻으려면 두 가지 실행 가능한 접근 방식이 있습니다.

  1. 명시적 유형 캐스팅 : 문자열을 정수로 명시적으로 변환하려면 (int) 유형 캐스트 ​​연산자 또는 intval()을 사용할 수 있습니다. function.
$id = (int) $row['userid'];
$id = intval($row['userid']);
  1. PDO: PDO(PHP Data Objects)를 활용하는 경우 내장된 데이터 유형 캐스팅을 활용할 수 있습니다. 능력. 가져오기 모드를 PDO::FETCH_ASSOC로 설정하면 정수를 포함하여 적절한 데이터 유형으로 데이터를 검색할 수 있습니다.
$stmt = $conn->prepare("SELECT userid FROM DB WHERE name='john'");
$stmt->execute();
$row = $stmt->fetch(\PDO::FETCH_ASSOC);
$id = $row['userid']; // Returns an integer

위 내용은 MySQL 정수 필드가 PHP에서 문자열로 반환되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.