>  기사  >  PHP 프레임워크  >  실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)

咔咔
咔咔원래의
2021-01-08 10:14:411439검색
"

이 글은 기본적인 내용입니다. 보시고 혹시 자신의 코드에도 같은 문제가 있는지 확인해주세요

"

서문

리틀큐가 또 질문으로 찾아왔습니다, 오늘의 문제는 아마도 대부분의 동성애자들이 할 문제일 것입니다.

문제는 ThinkPHP을 사용할 때 쿼리에서 반환된 결과가 비어 있는지 확인하는 것입니다.

너무 자신없나요? 이게 왜 문제인가요? 그렇게 생각하신다면 기사를 읽어보세요!

"

이 문제의 원인은 프레임워크 쿼리 데이터베이스에서 반환된 결과가 어떤 유형인지 명확하지 않기 때문입니다. 유형을 아는 것은 매우 간단한 질문입니다.

"
실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
원한이 사라지도록 하세요. 웃으며

1. 문제 재현

데이터베이스는 매우 간단합니다. 이 테이블에는 데이터가 없고 빈 테이블입니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
Database

그런 다음 ThinkPHP 프레임워크를 사용하여 이 테이블의 데이터를 쿼리합니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
Query code

리틀 Q는 여기에 어떤 값이 반환될지 생각할 시간을 3초 동안 제공합니다. 아직 데이터를 반환하지 않거나 사용자 테이블에서 데이터를 반환합니다.

Little Q는 사용자 테이블에 데이터가 전혀 없기 때문에 데이터가 반환되지 않는다고 주저 없이 말했습니다.

그럼 인쇄된 결과를 살펴보겠습니다.

리틀 Q는 눈을 크게 뜨고 "아직 데이터가 없습니다"라는 네 단어를 보지 못했습니다. 대신 빈 배열이 반환되었습니다(당분간은 그럴 것 같습니다).

"

이것은 일시적으로 빈 배열로 간주됩니다. 실제로는 배열처럼 보입니다. 실제 데이터 구조는 결과 집합입니다. 결과 집합이 무엇인지는 Baidu에서 직접 작성하세요!

"
실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
결과로 돌아가기

이때 꼬마Q는 혼란스러워했어요! 어떻게 이런 일이 일어날 수 있었습니까! Xiao Q의 강력한 요청에 날짜 데이터를 인쇄했습니다

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
당신이 아니길 바랍니다

반환 결과는 여전히 빈 배열입니다(당분간은 그럴 것 같습니다)

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
반환 결과

그럼 배열이 비어 있는지 판단하는 것은 반드시 empty()로 해야겠죠!

리틀Q는 이번에는 문제 없을 거라 자신있게 고개를 끄덕였습니다. 몇년째 이렇게 쓰고 있는데 텅 비어서 판단합니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
자신감이 넘치는군요

꼬마 Q에게 항아리가 울고 있는 모습을 보여주기 위해 카카는 값이 비어 있는지 한 번만 판단할 수 있습니다.

코드는 다음과 같습니다

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
코드 프린팅

리틀Q는 환한 미소를 짓고 있어 차마 요청 버튼을 눌 수가 없었습니다.

샤오큐의 기대에 부응할 수밖에 없는 그는 잔인하게 요청 버튼을 눌렀다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
반품 결과

위의 반납 결과를 보니 갑자기 샤오큐의 얼굴에 미소가 멈췄고, 이어진 것은 의심이 가득한 큰 얼굴이었습니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
의심

작성된 판단 코드에 문제가 있는지 다시 확인해보세요.

나는 수십년 동안 전쟁터에 있었고 복사해서 붙여넣기만 하면 키보드를 들고 어떻게 이 코드를 잘못 작성할 수 있겠습니까?

리틀Q는 결국 가만히 있지 못하고 웃으며 무슨 일이냐고 물었습니다!

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
리틀Q의 미소

드디어 본론으로 들어가는데, 리틀큐가 어떻게 진실을 이해하게 될지 계속 지켜봐주세요.

2. 문제 해결

현시점에서는 반환된 데이터가 우리가 주장하는 배열인지 확인하고 확인하는 것이 시급합니다.

그래서 키보드를 들고 8번을 쳤는데, 그게 is_array 함수였습니다.

요청 다시 시작하기

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
결과 인쇄하기

리틀Q 표정은 이렇고 지금은 정말 지저분해요

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
너 예전엔 이렇지 않았어

그래서 당황하지 않고 열어봤어 공식 홈페이지에 있는 문서를 바쁘지 않게 살펴보고 Xiao Q

를 살펴보았습니다. 공식 홈페이지에는 데이터에서 반환된 결과가 데이터 세트이며 버전 5.1에서 직접 기본값으로 설정되어 있다고 명시되어 있습니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
공식 문서

계속 읽으면 추가 방법이 무엇인지 알게 될 것입니다. 가장 먼저 알아야 할 것은 비어 있는지 여부입니다.

리틀Q는 충격에 빠져 "젠장, 이렇게 판단하면 안 돼!"라고 말했다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
추가 방법

확인만 하시면 됩니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
감지 코드

리틀Q는 결국 콧물과 눈물을 흘리며 눈에 이상이 있는 줄 알았다고 말했습니다!

왜 분명히 비어있는 데이터라고 판단할 수 없나요? 그는 긴 숨을 내쉬었다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
Return results
"

리틀Q는 어리둥절한 표정으로 나를 바라보며 말했다. 5.1 프레임워크를 사용하기 때문에 모든 판단은 이렇게 쓰여 있다. Xiao Q는 서둘러 달려가서 한 문장만 말했습니다. 온라인에 문제가 생기기 전에 서둘러 코드를 수정하지 않으면 해고될 것입니다. 실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)

샤오Q의 문제를 해결한 후, 다른 이야기를 나누자.

3. Extension

샤오Q의 문제를 해결한 후, 진지한 주제에 대해 이야기해보자.

에 있습니다. 위 기사에서는 생략되었으며 비어 있습니다. PHP에서는 배열이 비어 있는지 확인하는 데 비어 있습니다.

Xiao Q는 이것이 사실이라고 굳게 믿고 있으므로 프레임워크에서 이 사용법을 계속 사용할 수 있습니다.

?

아무 문제 없을 것 같아요! 아래 그림을 보세요

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
code

반환된 결과는 예상과 동일해야 합니다.

실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)
반환 결과

4. 요약

Xiao Q에 대한 요약, 본질은 항상 매우 간단합니다.

반환된 결과는 데이터베이스 구성 파일에서 수정이 가능하지만, 카카에서는 수정을 권장하지 않습니다.

프레임워크가 결과 집합을 기본값으로 설정했으므로 배열을 사용해야 한다면 괜찮습니다.

샤오Q의 질문 이후, 우리는 다음 사항에 주의할 필요가 있습니다.

  • 찾기 쿼리를 사용할 때 결과가 비어 있으면 반환된 결과는 null이고, 다음을 사용하여 판단할 수 있습니다.
  • 선택 쿼리를 사용할 때 결과가 비어 있으면 반환된 결과는 비어 있습니다. 결과 집합의 경우 결과 집합에서 추가 함수 toArray()를 사용하여 이를 배열로 변환한 다음 공백을 사용하여 판단할 수 있습니다. 하지만 단지 결과 집합을 이용해 판단을 한다면 $data->isEmpty()에서 제공하는 함수를 이용할 수 있습니다.

배움에 대한 끈기, 블로깅에 대한 끈기, 공유에 대한 끈기는 카카가 경력 이후부터 늘 지켜온 신념입니다. 거대 인터넷에 올라온 카카의 글이 여러분에게 조금이나마 도움이 되기를 바랍니다. 저는 카카입니다 다음에 또 만나요

위 내용은 실제로 반환 결과를 판단하는데 기존 드라이버가 뒤집혔습니다. (ThinkPHP)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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