我正在注册页面。可以通过btcbidder.com/register
访问它目前,当我尝试注册帐户时,我收到错误:
错误号码:1064
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近' @ gmail.com, 87e1bdad537ee992ee550a9b8f555530e5ad41a5ce4848ed67dea21c63f633ee3940' 在第1行
INSERT到tbl_user VALUES(NULL,lmfsthefounder, lmfsthefounder@gmail.com, 87e1bdad537ee992ee550a9b8f555530e5ad41a5ce4848ed67dea21c63f633ee3940149e852ff69e6555f817485e641e17edb0c0bf51296a276206cab0cd88ef, 658b851a9655567ca,NULL,NULL);
文件名: /home/content/61/11420661/html/btcbidder.com/controllers/register.php
行号:53
我正在使用的代码(在表单之外)是:
if (isset($_POST['username'])){
$username = $_POST['username'];
$email = $_POST['email'];
$salt = generate_salt();
$pwhash = hash_password($salt . $_POST['password']);
//$q = sprintf('INSERT into tbl_user (username, email, pwhash, salt) VALUES ();');
if ($this->db->query("INSERT into tbl_user VALUES (NULL, $username, $email, $pwhash, $salt, NULL, NULL);")){
echo "<h3> Registration successful</h3><br><br>
<p><a href='".site_url()."login'>Click here to log in </a></p>";
}
}
只是看,我尝试使用mysql浏览器将其添加到数据库,但正如预期的那样,它也失败了。
如果有帮助,请按下表:
'user_pk', 'int(10) unsigned', 'NO', 'PRI', '', 'auto_increment'
'username', 'varchar(16)', 'NO', 'UNI', '', ''
'email', 'varchar(254)', 'NO', 'UNI', '', ''
'pwhash', 'varchar(256)', 'NO', '', '', ''
'salt', 'varchar(32)', 'NO', '', '', ''
'wallet', 'varchar(64)', 'NO', 'UNI', '', ''
'usertype', 'varchar(10)', 'YES', '', '', ''
电子邮件字段有问题吗?似乎错误显示在@symbol上,是不是允许的字符?
答案 0 :(得分:0)
我认为问题在于您的插入值。您应该插入用户名,电子邮件,pwhash,salt,wallet和usertype作为STRING,我的意思是,用引号括起来。