这可能是一个重复的问题,但我真的找不到任何答案。我有一个忘记密码的脚本,它使用 $_GET 从 URL 中获取用户的电子邮件地址。然后脚本检查 $_GET 中的错误消息,然后传递到 mysql 以检查用户 ID 是否相同。
现在脚本本身没问题,但用户 id 在 var_dump() 中以字符串而不是整数的形式返回。我本来打算放手的,但后来我读到如果用户 id 不是 $_GET 变量中的整数,它可能会导致攻击,这让我有点担心。我试图将 num_rows 值更改为 int 但没有成功,因为 num_rows 返回一个数组。检查用户ID的代码是:
if (mysql_num_rows($result) == 1) {
// NEED TO TURN THIS ARRAY TO AN INT
list($userId) = mysql_fetch_array($result, MYSQL_NUM);
}
//elseif (mysql_num_rows($result) <= 0) {
else {
$wrong = '<p style="color: red">Something went wrong. Please try again</p>';
}
就像我之前说的剧本本身很好,只是我读了一些东西,现在无法摆脱它,这导致我问你们。用户 ID 是否必须是整数,或者我可以将其作为字符串处理吗?
编辑:感谢您的所有意见和建议。php还有很多东西要学。再次欢呼。