php - 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;
?>
解决方案
您在 HEREDOC 标记结束后添加了空格。
第 30 行:
END;
应该只有(分号后没有空格):
END;
详细解答:https ://stackoverflow.com/a/61127019/7082164
我不建议使用 HEREDOC,它的可读性并不高。
推荐阅读
- python - 如何在字节数组上并行化迭代?
- linux - 运行“Hello World”linux 模块的问题
- python - 在 Python 中使类继承“列表”时,如何获取该列表的实例?
- r - 使用每个级别的列中的最大值来计算 data.table 中的相对值
- python - 在 Python 中使用 SQLAlchemy 连接到 Azure 数据库
- powershell - 在工作站解锁时执行的语法
- java - 使用 gradle.buildRpm 在 RPM 中创建空目录
- javascript - html图像的奇怪压缩
- reactjs - Redux 模拟商店仅在分派多个操作时返回一个操作
- c++ - 将整数行直接读入向量