值不会输入数据库

时间:2012-09-10 10:50:42

标签: php mysql

也许这听起来很奇怪,但我觉得我在代码中做错了。我在本地测试它并且工作正常,但是,当我尝试在线发送数据时,它不会进入数据库。我不知道我现在做错了什么,我看不出错误(可能对代码或类似的东西有太多看法)。有时新面貌可能会有所帮助。

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

enter image description here 我只是不确定我的错误在哪里,因为本地它在我上传之前运行正常。我确实在旧版本的PHP上运行,我觉得它也可能与此有关。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

我看不到你在哪里连接到MySQL数据库!

我用:

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

创建一个指向我的MySQL数据库的链接 - 我希望你不要理会它!

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

答案 1 :(得分:0)

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

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

连接是否正常<数据库 被选中

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

另一方面,外键存在失败吗?

答案 2 :(得分: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))
愚蠢,我应该知道,如果我对一个字段有一个约束,它应该至少填充数据。所以,我填满那张桌子,瞧,这就是诀窍。感谢您输入的人。