形式还可以,并且可以正确捕获所有信息,但是,当我使用函数生成用于用户激活的随机字符串时,就会出现错误。
function generateActivationString() {
$randomSalt = '*&(*(JHjhkjnkjn9898';
$uniqId = uniqid(mt_rand(), true);
return md5($randomSalt.$uniqId);
}
if (!get_magic_quotes_gpc()) {
// $_POST['pass'] = addslashes($_POST['pass']);
$username = addslashes($_POST['username']);
$firstname = addslashes($_POST['firstname']);
$surname = addslashes($_POST['surname']);
// $_POST['email'] = addslashes($_POST['email']);
$email = mysql_real_escape_string(addslashes($_POST['email']));
$pass = mysql_real_escape_string(sha1($_POST['pass']));
$activationString = generateActivationString();
}
$insert = "INSERT INTO users (username, password, firstname, surname, email, activation_string)
VALUES ('".strtolower($username)."', '".$pass."', '".strtolower($firstname)."', '".strtolower($surname)."', '".strtolower($email)."', '".$activationString."')";
这是回显的插入语句:
INSERT INTO users (username, password, firstname, surname, email, activation_string) VALUES ('', '', '', '', '', '')
我知道它已经创建了一个新条目,因为填充了auto_increment id行,但是其他所有字段都为空。
这是generateActivationString()中的代码,所以我知道这也可以! -264361eeb6e75d3934ce249a0d05f2c1
任何建议都值得欢迎和赞赏!
最佳答案
严格按照上面的代码,您的变量,例如$username
,$password
等在您的if
块范围内,将它们移到if
之外。
关于php - 这个MySQL插入语句有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7214961/