Parse error: syntax error, unexpected T_CONCAT_EQUAL in ... on line X
<?php
// ...
while ($rs = mysql_fetch_array($result)) {
temp .= "<friend fid="".$rs[0]."" fname="".$rs[1]."" /> n"; // 錯誤行
}
?>
T_CONCAT_EQUAL 是 .= 連接賦值運算符的 Token。PHP 解析器期望其左側是一個變量(以 $ 開頭),但代碼中寫成了 temp(裸詞),被當作常量名或類名解析,導致語法錯誤。
在變量名前加上 $:
$temp .= "<friend fid="".$rs[0]."" fname="".$rs[1]."" /> n";
$,避免使用裸詞作為變量。php -l yourfile.php 可快速發現 Parse error。| 錯誤 Token | 典型原因 |
|---|---|
| T_VARIABLE | 變量名非法(如以數字開頭、包含特殊字符) |
| T_STRING | 字符串未閉合引號、保留字誤用 |
| T_ECHO | echo 後缺少表達式或分號 |
| T_IF / T_ELSE / T_WHILE | 控制結構缺少括號、大括號不匹配 |
| T_FUNCTION | 函數定義語法錯誤(如參數列表、返回類型聲明) |
遇到 Parse error 時,直接定位到報錯行及其上下文,檢查括號、引號、分號、變量前綴 $,多數情況下可在幾秒內定位修復。