在SQL中第n次执行后,ajax返回成功

时间:2013-03-14 00:25:54

标签: php html sql ajax

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

我已经尝试过警报确定,但在db

中找不到任何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);

?>

1 个答案:

答案 0 :(得分:0)

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

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

您还应该对密码进行哈希处理,并且不要将其作为纯文本或加密存储。