我正在使用预准备语句来存储,检索和更新数据到数据库或从数据库中更新数据。如果我正在使用预准备语句,是否需要使用htmlspecialchars()或htmlentities()?在准备的语句中使用htmlspecialchars()或htmlentities()
据我所知,你不需要使用用htmlspecialchars()插入数据,它只是担心输出HTML时...
我有,我正在使用准备好的声明中存储用户输入的情况从登记表像这样:
$stmt = $conn2->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
$stmt->bind_param('sss', $username, $email, $password);
$stmt->execute();
我有另一个脚本被检索的用户名和登录,并在屏幕上显示自己的用户名,像这样当密码:
$stmt = $conn2->prepare("SELECT username FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows == 1) {
$stmt->bind_result($name);
$stmt->fetch();
我也把用户名在会话和呼应,像这样的会议:
echo $_SESSION['user']['username']
从这个例子中,我需要使用用htmlspecialchars()或ヶ辆()显示的用户名是什么时候?这是什么意思输出HTML?
如果是这样,我会在哪里实现htmlspecialchars()或htmlentities()?
我认为你会很好的阅读[伟大的逃避现实(或:你需要知道如何处理文本中的文本)](http://kunststube.net/escapism) – deceze 2012-04-11 09:24:29
感谢你 - 帮助lot – user1278496 2012-04-11 09:39:08