0

我创建了一个注册表单,我正在使用 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 行存在简单问题

谢谢

4

5 回答 5

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它,它应该是。

于 2013-03-11T11:09:05.577 回答
0

如果 id 是您的主键,则用 null 重新平面 ''

于 2013-03-11T11:08:23.877 回答
0

制作idauto-incremented primary key并将其从插入查询中删除。

于 2013-03-11T11:10:49.553 回答
0

任何列都可能存在唯一约束

于 2013-03-11T11:13:25.310 回答
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");
于 2013-03-11T11:20:35.097 回答