数据在转义后插入数据库,如下所示:
$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个条目。
答案 0 :(得分:5)
当然,解决方案是停止使用htmlentities()
来转义进入数据库的数据。
htmlentities()
函数用于转义要注入HTML文档上下文的数据。不是数据库。
答案 1 :(得分:2)
我认为你应该指定引号参数。
html_entity_decode('O'Connor', ENT_QUOTES);
// output: O'Connor
默认情况下它是ENT_COMPACT
,它只是转换双引号,而不是单引号。