初学者常犯的 10 个 PHP 错误

你编写了代码。你刷新了页面。你看到的是一片空白。

这是因为 PHP 默认会静默失败。如果你看不到错误,你就无法修复它们。

在开始开发时,请在文件顶部添加以下代码行:

ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);

这会强制 PHP 显示错误所在。请勿在生产环境中使用此设置。

以下是 10 个常见的错误及其修复方法。

  1. 缺少分号 PHP 需要分号来结束语句。如果你漏掉了一个,脚本就会停止运行。 修复:务必在每一行末尾添加分号。

  2. 松散比较 (Loose Comparison) == 运算符在比较前会改变类型。这会导致错误的结果。 修复:使用 ===。它会同时检查值和类型。

  3. 未定义变量 使用未创建的变量会导致逻辑错误。 修复:使用空合并运算符。 $name = $_GET['name'] ?? 'Guest';

  4. 全局变量作用域 函数无法访问其外部的变量。 修复:将变量作为参数传递给函数。

  5. SQL 注入 直接将用户输入放入查询语句中是非常危险的。攻击者可能会窃取你的数据。 修复:使用带有占位符的预处理语句 (prepared statements)。

  6. 跨站脚本攻击 (XSS) 将原始用户输入直接打印到屏幕上,会导致恶意脚本在浏览器中运行。 修复:对所有输出使用 htmlspecialchars()

  7. Header 错误 在向浏览器发送任何文本或空格之后,你无法再发送 header。 修复:将 header() 调用放在最顶部。重定向后务必使用 exit()

  8. 缺失表单键 访问不存在的表单键会导致错误。 修复:使用空合并运算符来提供默认值。

  9. Include vs Require 如果文件缺失,include 命令只会发出警告。脚本会继续运行,并在稍后崩溃。 修复:对于数据库连接等关键文件,请使用 require_once

  10. 未检查返回值 许多 PHP 函数在失败时会返回 false。在下一步中使用该 false 值会导致程序崩溃。 修复:在使用结果之前,先检查函数是否返回了 false

编写更佳代码的总结: • 在开发环境中开启错误报告。 • 使用 === 代替 ==。 • 检查返回值。 • 对所有用户输入进行清理 (Sanitize)。

来源:https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh