Php 数组-将数组值插入mysql表

Php 数组-将数组值插入mysql表,php,mysql,Php,Mysql,我有一个通过ajax调用提交数据的基本表单。数据被php截取并插入mysql数据库。问题是,准备好的sql语句只提交从ajax调用发送的数组中的最后一个值。如何提交所有值?通过ajax发送的阵列中的更多详细信息: 尝试使用for each循环而不是while data[0][firstName] James data[0][lastName] Smith data[1][firstName] Jane data[1][lastName] Doe data[2][firstName]

我有一个通过ajax调用提交数据的基本表单。数据被php截取并插入mysql数据库。问题是,准备好的sql语句只提交从ajax调用发送的数组中的最后一个值。如何提交所有值?通过ajax发送的阵列中的更多详细信息:


尝试使用for each循环而不是while

data[0][firstName]  James
data[0][lastName]   Smith
data[1][firstName]  Jane
data[1][lastName]   Doe
data[2][firstName]  Bob 
data[2][lastName]   Builder
etc..

foreach($data as $d){
    $person_fname = $d['firstName'];
    $person_lname = $d['lastName'];

    $query_init2 = "INSERT INTO person ( first_name, last_name) VALUES (:person_fname,:person_lname);";
    $query_prep2 = $db_con->prepare($query_init2);
    $insert_result2 = $query_prep2->execute(array(
      "person_fname" => $person_fname,
      "person_lname" => $person_lname
    ));
}

在这里使用a而不是
while()
将使您的代码更加干净如果您不在每次迭代中准备相同的语句,您不知道会有多少利润。。因为语句准备一次,执行多次。。叹气。@N.B.将准备好的语句放在循环外?@techAddict82-是的,在循环外,然后在绑定值和调用->执行()内。这就是它们的真正用途:)
data[0][firstName]  James
data[0][lastName]   Smith
data[1][firstName]  Jane
data[1][lastName]   Doe
data[2][firstName]  Bob 
data[2][lastName]   Builder
etc..

foreach($data as $d){
    $person_fname = $d['firstName'];
    $person_lname = $d['lastName'];

    $query_init2 = "INSERT INTO person ( first_name, last_name) VALUES (:person_fname,:person_lname);";
    $query_prep2 = $db_con->prepare($query_init2);
    $insert_result2 = $query_prep2->execute(array(
      "person_fname" => $person_fname,
      "person_lname" => $person_lname
    ));
}
foreach($_POST['data'] as $key => $value){

    $f_name = $value['firstName'];
    $l_name = $value['lastName'];

    //insert here.
}