我的数据库中有一个包含类似Intel®
我还有一个值为Intel®
因此,当我将查询中的复选框值发送给php时,查询最终会像这样
SELECT something from products WHERE company="Intel(®)";
我将'Intel®'
放在我的数据库中,因为在其他地方我正在回应它,所以我希望你能理解正在发生的事情
复选框的值再次为Intel®
,但当我将此值放入查询时,查询最终会如此SELECT * from products WHERE company="Intel(®)"
答案 0 :(得分:4)
在您发送到SQL语句的字符串上,首先将其传递给htmlentities
。
答案 1 :(得分:0)
首先看一下PHP手册:
<?php
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the <b>dog</b> now
答案 2 :(得分:0)
复选框的值是“英特尔®”而非“英特尔&amp; reg;”。
“&安培; REG;”只是在HTML中表示®符号的一种方式。如果您希望该值为“Intel&amp; reg;”你需要使用“&amp; amp;”
来逃避&符号将html编码值存储在数据库中会导致各种类似的问题,因此我会考虑是否需要存储转义值。