PHP报错Blank line found at end of control structure问题求助
错误原因与解决方案
这个Blank line found at end of control structure属于PHP代码规范检查工具(如PHP_CodeSniffer)抛出的错误,核心是你if控制结构的闭合花括号后存在多余的空白行,不符合你当前启用的编码规范要求。
直接修复方案
找到你报错的if代码段,删除闭合花括号}与后续foreach语句之间的空白行,修改后代码如下:
if (isset($_POST['like'])) { $id = $_POST['like']; $query2 = "UPDATE `posts` SET `likes` = likes + 1 WHERE id = '$id'"; $run = $conn->query($query2); } foreach ($query as $info) {
修改后重新运行即可解决该报错。
其他潜在问题修复建议
- 你的HTML结构存在多余的
</span>标签,位于header区块的新增文章按钮代码之后,没有对应开启的<span>标签,建议直接删除该冗余标签避免HTML渲染异常。 - 点赞按钮的
value属性未加引号,现有写法value=<?php echo $info['id']; ?>存在解析风险,修改为value="<?php echo $info['id']; ?>"即可。 - 当前SQL写法存在SQL注入风险,用户提交的
$_POST['like']参数未做任何过滤直接拼接进SQL语句,建议转成整型后使用预处理语句执行,参考写法:
if (isset($_POST['like'])) { $id = (int)$_POST['like']; $stmt = $conn->prepare("UPDATE `posts` SET `likes` = likes + 1 WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $stmt->close(); }
内容的提问来源于stack exchange,提问作者Jean
相关产品推荐
相关产品推荐

