You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP将MySQL查询的分类值传入URL仅显示单个词但HTML输出正常如何解决

问题原因

  • 你拼接的a标签href属性没有用引号包裹,当分类值包含空格时,浏览器会将空格后的内容识别为HTML标签的其他属性,直接截断了URL参数值
  • URL规范不允许直接传递空格、中文等特殊字符,需要先对参数值做URL编码才能完整传递

修复方案

修改拼接逻辑,给href属性加引号包裹,同时对URL参数部分使用urlencode()函数编码即可,修复后的代码如下:

<?php
    foreach($conn->query('SELECT book_category, COUNT(*) FROM books GROUP BY book_category') as $row) {
        echo "<tr>";
        echo "<td><a href=\"sidebar_cat_display.php?book_cat=" . urlencode($row['book_category']) . "\">" . $row['book_category'] . "</a></td>";
        echo "</tr>"; 
    }
?>

补充说明

你在sidebar_cat_display.php页面接收参数时不需要手动解码,PHP全局变量$_GET['book_cat']会自动完成URL解码操作,直接读取就能拿到完整的带空格的分类值。

内容的提问来源于stack exchange,提问作者Isabella

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:39:04