我有以下 Ajax 代码将信息从 HTML 表单发送到 PHP 文件。
$(document).ready(function(){
$('#txt').load( '../../do_comment.php' );
});
$(function(){
$("#submit").click(function(e) {
e.preventDefault();
var name = $("#user_name").val();
var comment = $("#user_comment").val();
var ID = '2'; //must change for each post
$.ajax({
type: "POST",
url: "../../do_comment.php",
data: {user_name:name, user_comment:comment, ID:ID},
success: function(){
$('#txt').load( '../../do_comment.php' );
},
error:function(e){alert("it failed");}
});
});
});
在我的 PHP 文件中,我声明如下变量:
$name = $_POST[user_name];
$comment = $_POST[user_comment];
$ID = $_POST[ID];
并用这个正确地填充我的数据库:
if($_POST[user_comment] != Null) {
$sql = "INSERT INTO $table_name (post_ID, user_name, comments)
VALUES ('$ID','$name', '$comment')";
$result = @mysql_query($sql,$connection) or die(mysql_error());
}
问题是没有一个变量会回显任何类型的值,当我尝试查询数据库时,它只有在我硬编码 ID 值而不是使用变量时才有效。
$data = mysql_query("SELECT * FROM $table_name WHERE post_ID =
'".mysql_real_escape_string($ID)."'") or
die(mysql_error());