形式还可以,并且可以正确捕获所有信息,但是,当我使用函数生成用于用户激活的随机字符串时,就会出现错误。

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/

10-11 05:15