PHP中 $username = htmlentities(urldecode(mysql_real_escape_string($username)), EN

初学PHP,请问怎么理解以下两句:
$username = htmlentities(urldecode(mysql_real_escape_string($username)), ENT_QUOTES);
$password = mysql_real_escape_string(stripslashes($password));
最新回答
辣条的发明妨碍我当淑女

2026-01-13 07:21:22

mysql_real_escape_string:转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集. \防止在$username上加上'',\,%等进行注入;
urldecode — 解码已编码的 URL 字符串,解码给出的已编码字符串中的任何 %##。返回解码后的字符串。
htmlentities,因为要插入到数据库内转成html字符,如:
<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);

// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
第二句,分析与第一句相同。

整个上的作用是防止有人通过username password对数据库进行注入。保护数据库