我已经创建了一个注册表单,我正在使用php添加数据但由于某种原因它不会让我将数据添加到数据库中。你能看到这段代码有什么问题吗?
<?php
mysql_connect("localhost", "root", "password") or die("No Connection");;
mysql_select_db("music") or die("No Database");;
$username= mysql_real_escape_string($_REQUEST["username"]);
$password= mysql_real_escape_string($_REQUEST["password"]);
$email= mysql_real_escape_string($_REQUEST["email"]);
$hash = md5( rand(0,1000) );
mysql_query("INSERT INTO members (id, username, password, email, hash, active) VALUES('', '$username', '$password', '$email', '$hash', '')") or die("Can't Add");
if(mysql_affected_rows()>0){
echo "1";
}else{
echo "2";
}
?>
我继续收到一条无法添加错误,表明mysql_query行存在简单问题
谢谢
答案 0 :(得分:4)
Can't add
不是错误,只是你在最后添加的所有语句。
要查看实际问题,请更改mysql_query
行末尾的代码,以包含从mysql_error()
检索到的实际错误。
mysql_query("INSERT INTO members (username, password, email, hash, active) VALUES('$username', '$password', '$email', '$hash', '')")
or die("Can't Add - " . mysql_error());
这将为您提供有关错误的更多详细信息,如果您发布错误,我可以更新我的回答。
请注意,我还删除了id
的插入内容,如果您的列为AUTO_INCREMENT
,则不需要它。
答案 1 :(得分:0)
如果ID是您的主键,则重新输入&#39;&#39;使用null
答案 2 :(得分:0)
将id
设为auto-incremented
primary key
并将其从插入查询中删除。
答案 3 :(得分:0)
任何列
都可能存在唯一约束答案 4 :(得分:0)
要么
mysql_query("INSERT INTO members (id, username, password, email, hash, active)
VALUES(null, '$username', '$password', '$email', '$hash', '')") or die("Can't Add");
^^^^
mysql_query("INSERT INTO members (username, password, email, hash, active)
VALUES( '$username', '$password', '$email', '$hash', '')") or die("Can't Add");