Php 从Ajax jQuery数组取消POST索引

Php 从Ajax jQuery数组取消POST索引,php,jquery,ajax,pdo,Php,Jquery,Ajax,Pdo,我正在尝试将数组中的信息插入我的数据库。我遇到的问题是,首先,我从php获得了未定义的$u POST['Person']、$u POST['Color\u name']、$u POST['Opinion']索引 第二个问题是我想使用dataType:json;在我的Ajax jQuery中,但是如果我使用php文件,我的数据不会到达该文件 到目前为止,我尝试的是在get_data函数中用json字符串化我的返回数据,但没有成功。我还尝试在php中解码数据,但由于它得到了未定义的索引,我猜必须在j

我正在尝试将数组中的信息插入我的数据库。我遇到的问题是,首先,我从php获得了未定义的$u POST['Person']、$u POST['Color\u name']、$u POST['Opinion']索引

第二个问题是我想使用dataType:json;在我的Ajax jQuery中,但是如果我使用php文件,我的数据不会到达该文件

到目前为止,我尝试的是在get_data函数中用json字符串化我的返回数据,但没有成功。我还尝试在php中解码数据,但由于它得到了未定义的索引,我猜必须在jQuery中完成一些工作

这是get_data函数返回的数组

{Person: "James", Color_name: "blue", Opinion: "Looks good"}
{Person: "James", Color_name: "green", Opinion: "Looks ok"}
{Person: "Rebecka", Color_name: "blue", Opinion: "Looks bad"}
{Person: "Rebecka", Color_name: "black", Opinion: "Looks very bad"}
HTML

PHP

没有$_POST['Person'];因为所有javascript对象都在一个外部数组中,而get_data返回整个数组

尝试以下方法:

$.ajax({
  type: "POST",
  url: 'colors.php',
  data: {items : get_data()},
        // ^^ items contains an array
  success: function(data) {
    console.log(data);
  }
});
然后在php中

$items = $_POST['items'];// is array of sub arrays

foreach($items as $item){
   $person = $item['Person'];
    // get the other values and do a query within each iteration of this loop
}
没有$_POST['Person'];因为所有javascript对象都在一个外部数组中,而get_data返回整个数组

尝试以下方法:

$.ajax({
  type: "POST",
  url: 'colors.php',
  data: {items : get_data()},
        // ^^ items contains an array
  success: function(data) {
    console.log(data);
  }
});
然后在php中

$items = $_POST['items'];// is array of sub arrays

foreach($items as $item){
   $person = $item['Person'];
    // get the other values and do a query within each iteration of this loop
}

除了另一个答案,这个值$person、$color\u name、$opinion包含需要引用的字符串值

VALUES ('$person', '$color_name', '$opinion')

但是,这对sql注入是开放的;使用准备好的语句。

除了另一个答案外,此值$person、$color\u name、$opinion包含需要引用的字符串值

VALUES ('$person', '$color_name', '$opinion')

但是,这对sql注入是开放的;使用准备好的语句。

您仍然有未加引号的字符串值,根据您之前删除的post数据:get_data´,为什么函数名后面有一个´?这没有道理。这个IMHO,可以作为转售。你应该保留你之前的问题。我想问题在这里。您正在发送一个嵌套数组。您仍然有未加引号的字符串值,并且根据您以前删除的post数据:get_data´,为什么函数名后面有一个´?这没有道理。这个IMHO,可以作为转售。你应该保留你之前的问题。我想问题在这里。您正在发送嵌套数组这只是部分答案;正如我提到的,你错过了mysql/值的一些内容。或者我应该也发布一个关于这个的部分答案吗^@FunkFortyNiner你指的是什么引号?这个查询有没有引号的字符串值。出于几个原因,我决定发布一个wiki答案。我不想从那得到名声。如果你决定升级你的,那么我会删除我的。这只是一个部分答案;正如我提到的,你错过了mysql/值的一些内容。或者我应该也发布一个关于这个的部分答案吗^@FunkFortyNiner你指的是什么引号?这个查询有没有引号的字符串值。出于几个原因,我决定发布一个wiki答案。我不想从那得到名声。如果你决定升级你的,那么我会删除我的。奇怪的是,为什么这没有升级。我可不想在这件事上有什么名气。奇怪的是,为什么这件事没有被高估。我可不想在这里做任何宣传。