Home Backend Development PHP Tutorial Common error messages and explanations in PHP program compilation_PHP tutorial

Common error messages and explanations in PHP program compilation_PHP tutorial

Jul 21, 2016 pm 02:53 PM
php information common how program write compile explain mistake

When writing a program, no matter how careful you are, mistakes are inevitable. These errors usually confuse the PHP compiler. Compiler error messages are not only useless but often frustrating if developers don't understand what they mean.
 
When compiling a PHP script, the PHP compiler will do its best to report the first problem it encounters. This creates a problem: PHP can only identify the error when it occurs (this problem is described in detail later in this article). It is for this reason that the compiler points out that the line in error may appear to be syntactically correct on the surface, or it may be a line that does not even exist! and the time it takes to correct erroneous content. Therefore, in this article, I will try to clarify the many different types of PHP error messages and how to correctly understand the meaning of various error messages during the development process.
 
The content described in this article has nothing to do with the version of PHP you are using, because the various errors described in this article are not limited to specific errors in a particular version. In addition, we assume that you are a junior or intermediate programmer and have been engaged in programming for half a year or a year.
 
 How the compiler works
 
To understand why the compiler reports an error on a certain line, you must first understand the mechanism by which the compiler parses PHP code. I'm not going to go into detail about this in this article, but we will discuss some simple concepts that are more likely to lead to errors.
 
 Variable declaration
 
 If you declare a variable in a statement, the specific method is as follows:
 
 $variable = 'value';
 
 Compiler First find the value of the right half of the statement (that is, everything to the right of the equal sign). In some programming books, this is represented as the RHS (right half) of the statement. It is this part of the statement that often causes errors. If you use incorrect syntax, you will get a parsing error.
 
 Parse error
 
 Parse error: Parse error, unexpected T_WHILE in c://program files//apache group//apache//htdocs//script.php on line 19

Parse errors keep appearing one after another every time the previous error is determined. Because PHP stops executing the script after the first parsing error, debugging and correcting this series of errors can often be particularly tiresome.
 
 Moreover, parsing errors have very little information, and the line number where the error occurs is almost never reported. The specific reason is that when an error occurs, the compiler determines that the syntax of several lines should look valid until it encounters invalid syntax. The most likely case is that predefined words are used in the expression, such as;

 while = 10; // Bad? while is a predefined word and cannot be assigned to a value
 
 Predefined words include while, function, etc., if PHP uses uses to evaluate your code. You cannot use these predefined words to name variables, and if you do, PHP will throw more errors than you can tolerate.
 
  Regarding this issue, the following example may be helpful to you. Please read the PHP code shown below:
 
 $b = somevalue
 
 if($b == somevalue){
 
 print Hello world!;

 }
 
 ?>
 
 The error is located in $b = line (a semicolon is missing at the end of the statement), so the error should be a parsing error: a semicolon is missing in line 3, right? ?It should not be judged based on the parser:
 
 Parse error: parse error, unexpected T_IF in c://program files//apache
 
 group//apache//htdocs//ereg2 .php on line 4
 
 In line 4, the syntax of the if() statement is correct. So, what is confusing the compiler? The clue is the unexpected T_IF part. When an unexpected T_??? error occurs, it means: the compiler found that a predefined word appears in a position where it should not appear. T_IF represents if(), T_WHILE represents while(), T_FOR represents for(), etc.
 
 Thankfully, the cause of some errors is also very simple:
 
 The statement is not ended with a semicolon (;), such as the example above. Quotation marks are missing in the string.
 
Some other common mistakes

The most common mistake I see is when closing a function or a loop without using braces (}), which is most likely The most common and annoying mistake.
 
 The specific code is as follows:
 
 function UselessFunction() {
 
 for($i < 0; $i < 10; $i++){
 
 }
 
 The following error will be generated:
 
 Parse error: parse error, unexpected $ in c://program files//apache
 
 group//apache//htdocs //ereg2.php on line 9
 
Since the function UselessFunction does not end with a brace ( } ), the PHP compiler keeps looking for the closing brace until it reaches the end of the file. Because the compiler doesn't find a matching brace, it reports an end-of-file error.
 
If the hierarchy of the code is correctly reflected, error messages will become very obvious. If the hierarchical structure of the code is not marked, it will be almost impossible to find out what has been forgotten in the end. So, remember, be sure to indicate the hierarchy of your code. The Tab key makes this easy. It will also be easier for subsequent developers to grasp the code framework and modify it.
 
 MySQL Error
 
 Another extremely annoying error message is the most common MySQL error, which often causes headaches for new PHP users: Warning: Supplied argument is not a valid MySQL result resource in...
 
 The wrong line reported above may be:
 
 while($row = mysql_fetch_array($result)) {
 
 The parameter $result is not An effective resource. In English it means that mysql_fetch_array cannot be processed because the query failed. Either the query has invalid syntax (you should copy-paste the query into the MySQL console reference to test), or the connection to the database failed (in which case you should double-check the username, password, etc.).
 
 Prevent errors from occurring
 
 In the first step, the smart coder can take the following steps to eliminate the following errors:
 
 · At the end of each statement, do not consider Add semicolons – this should become a habit.
 
 · Always indicate the hierarchy of your code whenever possible. This will allow you to see if you forgot to add braces at places like if calls or at the end of functions.
 
 · Please use an editor with syntax highlighting (such as HTML-Kit). With the help of such an editor, you can determine if you forgot to add a quote, if you are missing a semicolon, etc.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/371460.htmlTechArticleWhen writing a program, no matter how careful you are, mistakes are always inevitable. These errors usually confuse the PHP compiler. If developers cannot understand the meaning of compiler error messages, then...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1248
24
Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

See all articles