PHP 打印带有多个单引号的字符串

PHP Printing a string with multiple single quotes

所以我遇到了一个问题,看起来应该是一个非常简单的修复,但我似乎无法弄清楚。

我正在使用准备好的语句从我的 SQL 查询数据并且 return 是正确的。我有 var_dumped 结果并确认信息在那里。

table 显示:2 'all of the way'

数组变量显示为:2 \'all of the way\'

但是当我将它回显到页面时,我看到了这个:2

我已经尝试了 htmlspecialcharshtmlentitiesaddslashesstripslashes 以及它们的一些组合。我在这里缺少一个功能吗? Google 并没有太大帮助,因为描述问题的词语非常笼统。

提前致谢!

编辑 抱歉 - 没有添加我的代码,因为我认为这是我不熟悉的功能。在这里。

        $Res = $db -> query("SELECT * FROM 01_02_item WHERE ParID = $ParID AND active = 1 ORDER BY OrderID") -> fetchAll(PDO::FETCH_ASSOC);
        if(empty($Res[0])) $return = "<span class = 'nodata'>No data</span>";
        foreach($Res as $r){
            $id = $r['id'];
            $name = htmlspecialchars($r['Name']);
            $title = stripslashes(htmlspecialchars($r['Description']));
            $return .= "<li href = '$id' title = '$title' name = '$name'>$name</li>";
        }
        return $return;

默认情况下 htmlspecialchars() 不转义单引号。

你应该使用 htmlspecialchars('foobar', ENT_QUOTES).