2

我相信我的代码应该没问题。但我提交表单后无法对数据库执行插入操作。谁能帮我?

我已经尝试过警报好的,但在数据库中找不到任何人 INSERT 值

并且很可能,单击按钮后,它再次返回表单并且没有警报,甚至是错误之一。

这是我的html

<form>
    <label for="basic">Login Name:</label>
    <input type="text" name="loginID" id="loginID" value="" data-mini="true" /></br >
    <label for="basic">Login Password:</label>
    <input type="password" name="loginPW" id="loginPW" value="" data-mini="true" /></br >
    <input type="submit" value="Submit ">
</form>

这是我的js

$(document).ready(function()
{
    $('form').submit(function(){

        $.ajax({
            type: 'POST',
            data: 
            {
                    loginID: $("#loginID").val(),
                    loginPW: $("#loginPW").val()
            },
            url: 'http://mydomain.com/create.php',
            success: function(data){
                alert('Your comment was successfully added');
            },
            error: function(){
                alert('There was an error adding your comment');
            }
        });

        return false;
    });
});

这是我的 php

<?php

include('mysqlConfig.php');

$id = mysql_real_escape_string($_POST["loginID"]);
$pw = mysql_real_escape_string($_POST["loginPW"]);

$sql="INSERT INTO tbl_user (user_name, password)
VALUES
($id,$pw)";

if (!mysql_query($sql,$link))
{
    die('Error: ' . mysql_error());
}
else
{    
    echo "Comment added";
}

mysql_close($link);

?>
4

1 回答 1

0

虽然你真的应该切换到 PDO(或 mysqli)和准备好的语句,但这里的问题是你没有引用变量,因为它们是字符串,你需要引用它们:

$sql="INSERT INTO tbl_user (user_name, password)
      VALUES
        ('$id','$pw')";

您还应该对您的密码进行散列和加盐处理,并且永远不要将它们存储为纯文本或加密。

于 2013-03-14T00:50:03.750 回答