我对一个将文件插入数据库的php文件进行了ajax调用。但是,我没有看到在php文件中传递的参数的值,其中我有用于将值插入数据库的代码。这是我的ajax电话
dataString = 'firstname=Jim&lastname=Smith';
$.ajax(
{
type: "POST",
url: "submit.php",
data: dataString,
});
这是我在submit.php文件中读取值的方法
$first_name = mysql_escape_string($_POST('firstname'));
$last_name = mysql_escape_string($_POST('lastname'));
$query = "INSERT into USERS (first_name, last_name) VALUES ('$first_name','$last_name');
但我没有在$ first_name或$ last_name中看到任何值,因此没有插入记录。如果我在submit.php文件中静态定义$ first_name ='Jim'和$ last_name ='Smith',那么我会看到正在数据库中插入的记录。知道我做错了吗?
答案 0 :(得分:3)
$_POST
是一个数组,因此您应该使用$_POST['var']
访问其内容,而不是$_POST('var')
。我建议您启用错误报告,这将帮助您更好地调试。例如,您的代码会导致致命错误。
$first_name = mysql_escape_string($_POST['firstname']);
$last_name = mysql_escape_string($_POST['lastname']);
答案 1 :(得分:0)
您可以尝试在对象结构中添加参数而不是字符串,例如:
数据:{firstname:“Jim”,姓:“Smith”}