php - 比较两个字符串时解码符号

标签 php mysql database escaping decode

我有一个表格。

我使用 htmlspecialchars所以当用户提交表单时,

// $_POST['test']; equals to "> 5"
$test = htmlspecialchars($_POST['test'], ENT_QUOTES);
...
$stmt->bindParam(':test', $test);
...

当我从数据库中拉出来的时候,是这样的:

有效:

if($row['test'] == '> 5') {
    echo $row['test']; // "< 5"
}

这个有效:

if($row['test'] == '&gt; 5') {
    echo $row['test']; // "< 5"
}

我怎样才能让它与这个一起工作:if($row['test'] == '< 5')而不是 &gt; 5 ?我还是想用 htmlspecialchars .

最佳答案

使用htmlspecialchars_decode() ,即:

$test = htmlspecialchars_decode($row['test']);
if($test == '< 5') {
    echo $test; // "< 5"
}

关于php - 比较两个字符串时解码符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49848820/

相关文章:

mysql - SQL使用JOIN或不使用IF进入mysql语句

database - 为什么lucene不需要复合索引,而关系数据库需要?

iis-7 - php.ini 未被 Windows 7 安装读取

php - 用于在第 1 行的 WHERE 1=0' 附近使用正确语法的 MySQL 服务器版本

php - Laravel 获取关系返回错误数据

mysql - 如何获取 "user id"中 "referral column"的计数

PHP SQL 服务器语法错误

c# - 使用 View 的 MySQL 数据库报告

mysql - "If value exists in table"- 有这样的东西吗?

database - 更改 Laravel 数据库连接