PHP-Fehleranalyse

大家讲道理
Freigeben: 2023-03-07 22:28:02
Original
1368 Leute haben es durchsucht

Selbst erfahrene Programmierer machen bei der Programmierung zwangsläufig Fehler. Fehlermeldungensind nicht nur nutzlos, sondern oft auch frustrierend, wenn der Entwickler sie nicht bemerken und nicht verstehen kann, was die Compiler-Fehlermeldung bedeutet. Ein besseres Verständnis von Fehlermeldungen kann daher helfen, erheblich Zeit beim Suchen und Korrigieren fehlerhafter Inhalte zu sparen.

Variable Deklaration: Wenn Sie eine Variable in einer Anweisung wie folgt deklarieren: $var = 'value'; der Compiler findet zuerst den Wert der rechten Hälfte der Anweisung , ist es dieser Teil der Anweisung, der häufig Fehler verursacht. Wenn Sie eine falsche Syntax verwenden, erhalten Sie einen Parsing-Fehler.

Parse-Fehler:

Zum Beispiel Parse-Fehler: Parse-Fehler, unerwartetes T_
WHILE in c:program filesapache groupapachehtdocsscript.php in Zeile 19 Die Parsing-Fehler kamen immer wieder nacheinander und PHP stoppte die Ausführung des Skripts nach dem ersten Parsing-Fehler jedes Mal, wenn der vorherige Fehler festgestellt wurde. Außerdem enthalten Parsing-Fehler nur sehr wenige Informationen, und die Zeilennummer, in der der Fehler aufgetreten ist, wird fast nicht gemeldet. Beispielsweise werden im Ausdruck
vordefinierte Schlüsselwörter verwendet, zum Beispiel: while = 10; while ist ein vordefiniertes Schlüsselwort, dem kein Wert zugewiesen werden kann. Zu den vordefinierten Schlüsselwörtern gehören while, function usw. Wir können diese vordefinierten Schlüsselwörter nicht zum Benennen von Variablen verwenden, da der Compiler sonst einen Fehler meldet. Unter diesen steht T_IF für if(), T_WHILE für while(), T_FOR für for() usw. Häufige Fehler:

Es gibt auch einige häufige Fehler, wie z. B. Anweisungen, die nicht mit einem Semikolon (;) enden,

fehlende Anführungszeichen in der Zeichenfolge
usw. Darüber hinaus gibt es keine Verwendung von geschweiften Klammern (}), um eine Funktion oder eine Schleife zu beenden, zum Beispiel: function UselessFunction() {for($ i < 0; $i < 10; $i++){
} in Zeile 9
Da die Funktion UselessFunction nicht mit einer geschweiften Klammer (}) endet, sucht der PHP-Compiler weiterhin nach der schließenden Klammer, bis er das Ende der Datei erreicht. Da der Compiler keine passende geschweifte Klammer findet, meldet er einen Dateiendefehler.
Wenn die Hierarchie des Codes korrekt wiedergegeben wird, werden Fehlermeldungen sehr deutlich. Andernfalls ist es sehr schwierig, den Code zu debuggen. Geben Sie daher unbedingt die hierarchische Struktur des Codes an, um späteren Entwicklern die Verbesserung des Codes zu erleichtern.


MySQL
Fehler:
Eine andere Art von Fehlermeldung ist der MySQL-Fehler, der PHP-Neulingen oft Kopfschmerzen bereitet, wie zum Beispiel: Warnung: Das angegebene Argument ist kein gültiges MySQL result resource in...

Die oben gemeldete falsche Zeile könnte sein: while($row =

mysql_fetch_array($result)) {} Der Parameter $result ist ungültig Ressource, da Abfrage
fehlgeschlagen ist und mysql_fetch_array nicht verarbeitet wird. Jede Abfrage mit ungültiger Syntax oder fehlgeschlagener Verbindung zur Datenbank sollte in der MySQL-Konsole getestet werden. Weitere einfache Fehler
Beachten Sie den Unterschied zwischen echo

und

print

:
    echo und Print werden beide verwendet für die Ausgabe, aber es gibt immer noch subtile Unterschiede zwischen den beiden. Nach der Echo-Ausgabe gibt es keinen Rückgabewert, aber print hat einen Rückgabewert und gibt false zurück, wenn die Ausführung fehlschlägt. Daher kann es als normale Funktion verwendet werden. Wenn beispielsweise $r = print „Hello World“ ausgeführt wird, ist der Wert der Variablen $r 1. Darüber hinaus läuft die echo-Anweisung im Code etwas schneller als die print-Anweisung.
  1. Beachten Sie den Unterschied zwischen leerer Zeichenfolge ('') und NULL:
    Sowohl leere Zeichenfolgen als auch NULL werden in PHP mit dem Wert 0 gespeichert, aber Ihre Typen sind nicht gleich. Ersteres ist

    string
  2. , während letzteres NULL ist. Es ist ersichtlich, dass der String ('') und der NULL-Wert gleich sind, die Typen jedoch unterschiedlich sind.
  3. Unterscheiden Sie den Unterschied zwischen == (gleich UND) und === (kongruent UND):
    Beide gehören zum Vergleichsoperator , == (gleich) Es vergleicht nur, ob die Werte gleich sind, während === (alle gleich) nicht nur vergleicht, ob die Werte gleich sind, sondern auch, ob die Typen gleich sind, was strenger ist.

  4. Unterscheiden Sie den Unterschied zwischen include und require: Die Funktionen von
    include() und require() sind grundsätzlich gleich, Aber in der Verwendung gibt es auch einige Unterschiede: include() ist eine bedingte Einschlussfunktion, während require() eine bedingungslose Einschlussfunktion ist. Wenn beispielsweise im folgenden Code die Variable $a wahr ist, wird die Datei a.php eingebunden: if($a){
    include("a.php");
    }
    Und require() unterscheidet sich von include(), egal welchen Wert $a annimmt, der folgende Code schließt die Datei a.php ein:
    if($a){
    require( "a .php");
    }
    Im Hinblick auf die
    Fehlerbehandlung verwenden Sie die Include-Anweisung. Wenn ein Include-Fehler auftritt, überspringt das Programm die Include-Anweisung angezeigt wird, wird das Programm weiter ausgeführt. Die require-Anweisung führt jedoch zu einem schwerwiegenden Fehler.

  5. Beachten Sie den Unterschied zwischen is

    set und empty: empty bestimmt, ob eine Variable „leer“ ist, während isset bestimmt, ob eine Variable „leer“ ist wurde eingerichtet.

  6. Unterscheiden Sie den Unterschied zwischen self :: und this-->:

    Beim Zugriff auf Mitgliedsvariablen oder -methoden in einer PHP-Klasse, wenn darauf durch
    Wenn eine Variable oder Methode als const (Konstante) oder statisch (statischesAttribut) deklariert ist, dann ist die Domänenoperation Es muss der Operator :: verwendet werden. Wenn die referenzierte Variable oder Methode nicht als const oder static deklariert ist, verwenden Sie den Zeigeroperator ->.

    Das obige ist der detaillierte Inhalt vonPHP-Fehleranalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!