Heim  >  Artikel  >  PHP-Framework  >  Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)

咔咔
咔咔Original
2021-01-08 10:14:411387Durchsuche
"

Dieser Artikel ist ein grundlegender Inhalt. Wenn Sie ihn sehen, überprüfen Sie bitte, ob Ihr eigener Code das gleiche Problem hat

"

Vorwort

Little Q kam erneut mit einer Frage: Das heutige Problem ist wahrscheinlich eines, das die meisten Schwulen haben werden.

Das Problem besteht darin, festzustellen, ob das von der Abfrage zurückgegebene Ergebnis leer ist, wenn ThinkPHP verwendet wird.

Bist du nicht sehr zuversichtlich? Was ist daran falsch? Wenn Sie das glauben, dann lesen Sie einfach den Artikel!

"

Der Grund für dieses Problem ist, dass nicht klar ist, um welchen Typ es sich bei den von der Framework-Abfragedatenbank zurückgegebenen Ergebnissen handelt. Den Typ zu kennen ist eine sehr einfache Frage.

"
Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Lassen Sie den Groll verschwinden mit einem Lächeln

1. Reproduktion des Problems

Die Datenbank ist sehr einfach, nur ein Tabellenbenutzer. Es gibt keine Daten in dieser Tabelle, es ist eine leere Tabelle.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Datenbank

Dann verwenden Sie das ThinkPHP-Framework, um die Daten dieser Tabelle abzufragen

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Abfragecode

Little Q gibt Ihnen drei Sekunden Zeit, um darüber nachzudenken, welcher Wert hier zurückgegeben wird. Geben Sie entweder noch keine Daten zurück oder geben Sie Daten aus der Benutzertabelle zurück.

Little Q sagte ohne zu zögern, dass keine Daten zurückgegeben werden, da die Benutzertabelle überhaupt keine Daten enthält.

Dann werfen wir einen Blick auf das gedruckte Ergebnis.

Der kleine Q öffnete die Augen weit und sah die vier Worte „Noch keine Daten“ nicht. Stattdessen wurde ein leeres Array zurückgegeben (ich denke schon).

"

Vorübergehend denke ich, dass dies ein leeres Array ist. Tatsächlich sieht es nur wie ein Array aus. Die tatsächliche Datenstruktur ist eine Ergebnismenge. Was eine Ergebnismenge ist, können Sie einfach selbst herausfinden!

"
Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Zurück zu den Ergebnissen

Zu diesem Zeitpunkt war der kleine Q verwirrt! Wie konnte das passieren! Auf dringenden Wunsch von Xiao Q habe ich die Datumsdaten ausgedruckt

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Ich hoffe, dass du es nicht bist

Das Rückgabeergebnis ist immer noch ein leeres Array (ich denke vorerst schon)

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Ergebnis zurückgeben

Um dann zu beurteilen, ob ein Array leer ist, muss empty() zur Beurteilung verwendet werden, richtig!

Little Q nickte zuversichtlich. Diesmal dürfte es kein Problem sein, so zu schreiben, und ich verwende leer, um zu urteilen.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Du bist zuversichtlich

Damit der kleine Q die Urne weinen sieht, kann Kaka nur einmal beurteilen, ob der Wert leer ist.

Der Code lautet wie folgt

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Codedruck

Der kleine Q hatte ein strahlendes Lächeln im Gesicht und ich konnte es nicht ertragen, auf die Schaltfläche „Anfordern“ zu klicken.

Da er keine andere Wahl hatte, als Xiao Qs Erwartungen zu erfüllen, drückte er grausam den Anfrageknopf.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Return-Ergebnisse

Als ich die Return-Ergebnisse oben sah, hörte das Lächeln auf Xiao Qs Gesicht plötzlich auf und was folgte, war ein großes Gesicht voller Zweifel.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Zweifelhaft

Überprüfen Sie noch einmal, ob ein Problem mit dem geschriebenen Urteilscode vorliegt.

Ich bin seit Jahrzehnten auf dem Schlachtfeld, kopiere und füge ein, nimm einfach die Tastatur und mache es. Wie könnte ich diesen Code falsch schreiben?

Little Q konnte endlich nicht still sitzen und fragte mit einem Lächeln, was los ist!

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Das Lächeln des kleinen Q

Wir kommen endlich zum Punkt. Bitte sehen Sie weiter, wie Sie dem kleinen Q die Wahrheit verständlich machen können.

2. Lösen Sie das Problem

In diesem Moment ist es dringend erforderlich, zu überprüfen, ob die zurückgegebenen Daten das Array sind, auf dem wir bestehen, und es dann zu überprüfen.

Also habe ich die Tastatur in die Hand genommen und acht Mal getippt, und das war die Funktion is_array.

Initiieren Sie die Anfrage erneut.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Drucken Sie das Ergebnis aus Ich habe das Dokument auf der offiziellen Website geöffnet, ohne beschäftigt zu sein, und einen Blick auf Xiao Q geworfen. Auf der offiziellen Website wurde eindeutig angegeben, dass das von den Daten zurückgegebene Ergebnis der Datensatz ist und in Version 5.1 direkt standardmäßig voreingestellt ist.

Offizielle Website-Dokumentation
Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Wenn Sie weiterlesen, werden Sie die zusätzlichen Methoden sehen. Das erste, was Sie wissen müssen, ist, ob es leer ist oder nicht.
Little Q sagte geschockt: „Verdammt, so kann man das nicht beurteilen!“

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Eine zusätzliche Methode

besteht darin, es einfach zu überprüfen.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Erkennungscode

Der kleine Q sagte schließlich mit laufender Nase und Tränen: „Ich dachte, mit meinen Augen stimmt etwas nicht!“

Warum können wir nicht beurteilen, dass es sich offensichtlich um leere Daten handelt? Er atmete tief aus.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Ergebnisse zurückgeben
"

Little Q sah mich verwirrt an und sagte, da alle Urteile bei Verwendung des 5.1-Frameworks so geschrieben seien. Xiao Q rannte hastig raus und sagte nur einen Satz. Beeilen Sie sich und korrigieren Sie den Code, bevor es online keine Probleme mehr gibt, sonst werde ich entlassen. Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)

"

Nachdem wir das Problem von Xiao Q gelöst haben, reden wir über andere Dinge.

3. Erweiterung

Nachdem wir das Problem von Xiao Q gelöst haben, reden wir über einige ernste Themen.

In dem obigen Artikel gibt es eine Auslassung, und das ist leer. In PHP wird empty verwendet, um festzustellen, ob ein Array leer ist.

Xiao Q ist fest davon überzeugt, dass dies der Fall ist, sodass diese Verwendung weiterhin verwendet werden kann das Framework. Verwenden Sie es?

Das dürfte kein Problem sein! Schauen Sie sich das Bild unten an

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Code

Das zurückgegebene Ergebnis muss das gleiche sein wie erwartet. Die Wahrheit ist immer die Wahrheit.

Der alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP)
Ergebnisse zurückgeben

4. Zusammenfassung

Eine Zusammenfassung für Xiao Q, das Wesentliche ist immer so einfach.

Obwohl die zurückgegebenen Ergebnisse in der Datenbankkonfigurationsdatei geändert werden können, empfiehlt Kaka keine Änderung.

Da das Framework standardmäßig die Ergebnismenge verwendet, ist die Verwendung der Ergebnismenge in Ordnung. Wenn Sie ein Array verwenden müssen, ist das in Ordnung.

Nach der Frage von Xiao Q müssen wir auf die folgenden Punkte achten.

  • Wenn bei Verwendung einer Suchabfrage das Ergebnis leer ist und das zurückgegebene Ergebnis null ist, kann die Beurteilung mithilfe von
  • Wenn bei Verwendung einer Auswahlabfrage das Ergebnis leer ist, ist das zurückgegebene Ergebnis leer Ergebnismenge: Sie können die zusätzliche Funktion toArray() in der Ergebnismenge verwenden, um sie in ein Array umzuwandeln, und dann leer zur Beurteilung verwenden. Wenn Sie jedoch nur die Ergebnismenge verwenden, um ein Urteil zu fällen, können Sie die von $data->isEmpty() bereitgestellte Funktion verwenden, um das Urteil zu fällen.

Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, die Kaka seit seiner Karriere immer vertreten hat. Ich hoffe, dass Kakas Artikel im riesigen Internet Ihnen ein wenig helfen können. Ich bin Kaka, bis zum nächsten Mal

Das obige ist der detaillierte Inhalt vonDer alte Treiber ist bei der Beurteilung des Rückgabeergebnisses tatsächlich umgefallen (ThinkPHP). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn