这可能听起来很奇怪,但我感觉我在代码中做错了什么。我确实在本地测试了它,它工作得很好,但是当我尝试在线发送数据时,它没有输入到数据库中。我不知道我现在做错了什么,我也看不到错误(可能看了太多代码或类似的东西)。有时候,换个新面貌可能会更好。
HTML:
<form method="post" class="signin" action="inc/actions/processing.php">
<fieldset class="textbox">
<label class="username">
<span>Username</span>
<input id="username" name="username" value="" type="text" autocomplete="off" placeholder="username">
</label>
<label class="charactername">
<span>Charactername</span>
<input id="charactername" name="charactername" value="" type="text" autocomplete="off" placeholder="Your character's first name">
</label>
<label class="password">
<span>Password</span>
<input id="password" name="password" value="" type="password" placeholder="Password">
</label>
<button class="submit button" name="RegisterUser" type="submit">Register User</button>
</fieldset>
</form>PHP,处理部分:
if(isset($_POST['RegisterUser'])){
$Username = $_POST['username'];
$Pass_nomdf5 = $_POST['password'];
$Password = md5($Pass_nomdf5);
$Charactername = $_POST['charactername'];
RegisterMember($Charactername,$Username,$Password);
CloseConnection();
header( "Location: http://" . strip_tags( $_SERVER ['HTTP_HOST'] ) . "/newHolo/" );
exit;
}RegisterMember函数的PHP:
function RegisterMember($Charactername,$Username,$Password){
$query = "INSERT INTO User(CharacterFname,Username,Password) VALUES ('".$Charactername."','".$Username."','".$Password."');";
SendQuery($query);
}我把它运行了好几次,但我感觉这是我数据库中的一个设置把我搞砸了。我把所有的NOT_NULL都换成了NULL,除了ID字段(见下面数据库表的图片)。

我只是不确定我的错误在哪里,因为在我上传之前,它在本地运行得很好。我确实是在一个老版本的PHP上运行的,我有一种感觉,它可能也与此有关。有人能帮我吗?
发布于 2012-09-10 19:32:59
如上所述,返回的是一个sql错误,实际上与我的代码没有任何关系。当我注意到我还没有在Sgroup的数据字段中填充任何数据时,我清除了错误消息。
#1452 - Cannot add or update a child row: a foreign key constraint fails (darktide_newdarktide/User, CONSTRAINT User_ibfk_1 FOREIGN KEY (SgroupId) REFERENCES Sgroup (SgroupId))笨蛋,我应该知道,如果我对一个字段有一个约束,它至少应该用数据填充。所以,我填满了那张桌子,瞧,这就成功了。感谢您的输入人员。
发布于 2012-09-10 19:09:59
我看不到您连接到MySQL数据库的位置!
我使用:
$mysqli = mysqli_connect("localhost", "username", "password", "database");创建一个到我的MySQL数据库的链接--我希望你把它从你的问题中去掉了!
如果代码在本地工作,那么我会检查“连接”是否工作--也许你有不同的密码或用户名,因为如果代码在本地工作,它应该在你的服务器上工作。
发布于 2012-09-10 19:28:04
我已经在本地测试过了,它对我来说很有效。(但请注意,我没有让设置的任何外键。)
据我所知,代码本身似乎没有什么问题,而是类似于connection或类似的东西。
connection是否正常,以及是否已选择数据库
mysql_connect("servername", "username", "password");
mysql_select_db("dababase/schema");另一方面,是否存在外键约束失败?
https://stackoverflow.com/questions/12350149
复制相似问题