php pdo和html实体解码

时间:2012-01-23 16:55:55

标签: php pdo

数据在转义后插入数据库,如下所示:

$caller=htmlentities($formVarsI['caller'], ENT_QUOTES, "UTF-8");

一些$来电者有单引号,例如O'Connor然后在数据库中看起来像O ' Connor。

我现在尝试使用REST api提取数据,下面是我的php:

$sql = "SELECT caller FROM tbl_calls ";
try {
    $db = getConnection();
    $stmt = $db->query($sql);  
    $calls= $stmt->fetchAll(PDO::FETCH_OBJ);
    $db = null;
    echo json_encode($calls);
    }

我的问题是如何在$ caller上执行html_entity_decode以删除

'

适用于每个来电者。注意有约。数据库中有10,000个条目。

2 个答案:

答案 0 :(得分:5)

当然,解决方案是停止使用htmlentities()来转义进入数据库的数据。

htmlentities()函数用于转义要注入HTML文档上下文的数据。不是数据库。

答案 1 :(得分:2)

我认为你应该指定引号参数。

html_entity_decode('O'Connor', ENT_QUOTES);
// output: O'Connor

默认情况下它是ENT_COMPACT,它只是转换双引号,而不是单引号。