Так что у меня возникла проблема, которая, кажется, должна быть довольно простой, но я не могу ее решить.
Я использую подготовленные операторы для запроса данных из моего SQL, и результат верен. я имею var_dumped
результат и подтвердил информацию там.
Таблица показывает это: 2 «полностью»
Переменная массива показывает это: 2 \ ‘весь путь \’
Но когда я отражаю это на странице, я вижу это: 2
я пытался htmlspecialchars
, htmlentities
, addslashes
, stripslashes
и несколько комбинаций из них. Есть ли здесь функция, которую мне не хватает? 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)
,
Других решений пока нет …