0

我对将记录插入数据库的 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',那么我会看到记录被插入到数据库中。知道我做错了什么吗?

4

2 回答 2

3

$_POST是一个数组,因此您应该使用$_POST['var']而不是访问它的内容$_POST('var')。我建议您启用错误报告,这将帮助您更好地调试。例如,您的代码会导致致命错误。

$first_name = mysql_escape_string($_POST['firstname']);
$last_name = mysql_escape_string($_POST['lastname']);
于 2012-04-12T13:34:52.253 回答
0

您可以尝试在对象结构而不是字符串中添加参数,例如:

数据:{名:“吉姆”,姓:“史密斯”}

于 2012-04-12T13:34:48.420 回答