0

也许这听起来很奇怪,但我感觉我的代码做错了。我确实在本地对其进行了测试,并且工作正常,但是,当我尝试在线发送数据时,它没有输入到数据库中。我现在不知道自己做错了什么,也看不到错误(可能对代码或类似的东西看起来太多了)。有时,焕然一新的外观可能会有所帮助。

的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_NULLs 都切换为NULLs,除了 ID 字段(参见下面的数据库表图片)。

在此处输入图像描述 我只是不确定我的错误在哪里,因为在我上传之前它在本地运行良好。虽然我确实在旧版本的 PHP 上运行过,但我感觉它也可能与此有关。有谁可以帮我离开这里吗?

4

3 回答 3

0

正如我上面所说,这是一个 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-10T11:32:58.693 回答
0

我看不到您连接到 MySQL 数据库的位置!

我用:

$mysqli = mysqli_connect("localhost", "username", "password", "database");

创建一个指向我的 MySQL 数据库的链接——我希望你把它排除在你的问题之外!

如果代码在本地工作,那么我会检查“连接”是否工作——也许你有不同的密码或用户名,因为如果代码在本地工作,它应该在你的服务器上工作。

于 2012-09-10T11:09:58.637 回答
0

我已经在本地对其进行了测试,它对我有用。(但请注意,我没有设置任何外键。)

只要我能看到,代码本身似乎没有什么问题,而是类似连接之类的东西。

连接是否正常,是否选择数据库

mysql_connect("servername", "username", "password");
mysql_select_db("dababase/schema");

另一方面,是否有外键约束失败?

于 2012-09-10T11:28:04.323 回答