我相信我的代码应该没问题。但我提交表格后无法对数据库执行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);
?>
答案 0 :(得分:0)
虽然你真的应该切换到PDO(或mysqli)和预处理语句,但这里的问题是你没有引用变量,因为它们是字符串,你需要引用它们:
$sql="INSERT INTO tbl_user (user_name, password)
VALUES
('$id','$pw')";
您还应该对密码进行哈希处理,并且不要将其作为纯文本或加密存储。