我正在编写客户端和服务器。用户在浏览器中输入数据,然后将数据发送到服务器上的PHP代码。
我在filter_input_array
上使用$_GET[]
,并在“名称”字段中使用FILTER_SANITIZE_STRING
。
O'Reilly
变为O'Reilly
,并存储在数据库中。
当然,下次客户端提取数据并在浏览器中显示时,用户会抱怨。
当我SELECT
使用PDO从MySql数据库中获取数据时,有没有办法“取消确定”?
答案 0 :(得分:1)
在数据库中保存数据时,正确的方法是在使用数据时存储数据,这意味着“按原样”。然后,在显示数据时,您无需对数据执行任何操作。
您可以使用FILTER_FLAG_NO_ENCODE_QUOTES
标志禁用字符串中“或”的编码。如果您想删除HTML标记,您也可以使用strip_tags()
函数代替该值。< / p>
您始终希望在查询中使用参数,因为这有助于SQL注入问题,但是您是要删除标记,清理输入还是其他内容取决于您要对数据执行的操作。所以有时你只是使用参数,有时也会消毒。