这是我的 SQL 查询
INSERT INTO users (Username, Password, Email, Admin)
VALUES ($username, $encryptedpass, $email, 0)
我收到这个错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 ' , , 0)' 附近使用正确的语法
你能解释一下我在哪里搞砸了,以及如何解决它
您需要将变量括起来'
以正确格式化变量。整数字段不需要外壳。
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('$username', '$encryptedpass', '$email', 0)
您需要将值用单引号括起来(假设Admin
是整数):
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('$username', '$encryptedpass', '$email', 0)
为了获得最佳实践,您应该将所有系统关键字包含在反引号中:
INSERT INTO `users` (`Username`, `Password`, `Email`, `Admin`)
VALUES ('$username', '$encryptedpass', '$email', 0)
尝试这个:-
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('$username', '$encryptedpass', '$email', '0')
或者
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('$username', '$encryptedpass', '$email', 0)
INSERT INTO users (Username, Password, Email, Admin)
VALUES ($username, $encryptedpass, $email, 0)
应该
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('$username', '$encryptedpass', '$email', '0')
问题是没有插入一个空字符串,它被读取为
INSERT INTO users (Username, Password, Email, Admin)
VALUES (, , , 0)
当所有三个变量都是空字符串而不是
INSERT INTO users (Username, Password, Email, Admin)
VALUES ('', '', '', '0')
空字符串''
告诉 MySQL 清空空字符串而不是转到下一个值,
你在使用 PHP 吗?文本日期必须介于 ''
插入用户(用户名、密码、电子邮件、管理员)值('$username'、'$encryptedpass'、'$email'、0)