Mysql插入错误

时间:2013-03-11 11:06:10

标签: php

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

谢谢

5 个答案:

答案 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");