首页 > 解决方案 > PHP 代码:语法错误,文件意外结束

问题描述

我已经卡在我的代码上一段时间了,并尝试使用谷歌搜索,但找不到我的代码有什么问题,有人可以帮助我吗?它返回错误“解析错误:语法错误,第 35 行文件意外结束”。

<?php
require_once('template.php');
include ('login.php');
$content = '<h1>Products</h1>';
$query   = <<<END
SELECT * FROM products
ORDER BY created_at DESC
END;
$res     = $mysqli->query($query);

if (isset($_SESSION['userId']) and ($res->num_rows > 0)) {
    while ($row = $res->fetch_object()) {
        $content .= <<<END
        {$row->name} |
            {$row->price}<br>
            <a href="product_details.php?id={$row->id}">Description</a>| 
            <a href="delete_product.php?id={$row->id}" onclick="return confirm('Are you sure?')"> 
            Remove product</a>|
            <a href="edit_product.php?id={$row->id}">Edit product</a><br>
            </hr>
END;
    }
} 
elseif (($res->num_rows > 0)) {
    while ($row = $res->fetch_object()) {
        $content .= <<<END
            {$row->name}|
                {$row->price}<br>
                <a href="product_details.php?id={$row->id}">Description</a><br>
END; 
    }
}
echo $navigation;
echo $content;
?>

标签: phpphp-parse-error

解决方案


您在 HEREDOC 标记结束后添加了空格。

第 30 行:

END; 

应该只有(分号后没有空格):

END;

详细解答:https ://stackoverflow.com/a/61127019/7082164

我不建议使用 HEREDOC,它的可读性并不高。


推荐阅读