该代码有什么问题? - 它一直拒绝创建帐户。
$query = "
INSERT INTO `accounts`(`username`, `dispname`, `email`, `password`, `type`, `blocked`, `points`)
VALUES ($disname,$username,$email,$password,1,false,0)";
$result = mysql_query($query);
if($result){
$Registered = "You have registered successfully.";
} else {
$ERROREMAIL = "There Were an Error Registering your email, please contact our support.";
}
我完全糊涂了。
顺便说一下,这是数据库的结构,希望有人帮忙。
CREATE TABLE `accounts` (
`id` int(11) NOT NULL,
`username` varchar(255) DEFAULT NULL,
`dispname` varchar(255) NOT NULL DEFAULT 'someone',
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`type` int(10) NOT NULL,
`blocked` tinyint(1) NOT NULL DEFAULT '0',
`points` int(10) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
ALTER TABLE `accounts`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `username` (`username`);
ALTER TABLE `accounts`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
答案 0 :(得分:2)
尝试此查询:
$query = "INSERT INTO `accounts`
(`username`, `dispname`, `email`, `password`, `type`, `blocked`, `points`)
VALUES ('$disname','$username','$email','$password',1,0,0)";
有什么变化?
答案 1 :(得分:2)
“$ connection = mysqli_connect($ DBHOST,$ DBUSER,$ DBPASS,$ DBNAME);还有mysqli_query($ connection,$ query); - Ahmed Alaa 1小时前”
这里有两件事不对。您正在与mysqli_
进行关联,然后使用mysql_
进行查询。
$result = mysql_query($query);
应该读作
$result = mysqli_query($connection, $query);
那些不同的API不会混用。您必须使用相同的连接到查询。
然后,在值中忽略变量(对于字符串)的引号。
VALUES ($disname,$username,$email,$password,1,false,0)";
应为:
('$disname','$username','$email','$password',1,false,0)
但这让你对SQL injection开放。
请参阅以下链接http://php.net/manual/en/mysqli.error.php和http://php.net/manual/en/function.error-reporting.php 并在测试期间将其应用于您的代码。
在测试过程中,这对您没有帮助,以便获得真正的错误:
else {
$ERROREMAIL = "There Were an Error Registering your email, please contact our support.";
}
这将:
else {
echo "Error: " . mysqli_error($connection);
}
一旦没有错误,您可以将其设置回原始方法。
答案 2 :(得分:0)
您需要将字符串作为字符串而不是整数传递
试试这个:
$query = "
INSERT INTO `accounts`(`username`, `dispname`, `email`, `password`, `type`, `blocked`, `points`)
VALUES ('$disname','$username','$email','$password',1,false,0)";
答案 3 :(得分:0)
谢谢大家。
解决方案就是这样。
将您的php版本更新为PHp 7_0_0。 将phpmyadmin更新为4_5_2。 将MySql更新为5_6_27。
更新旧mysql的用法 - > PDO。