Php 数组-将数组值插入mysql表
我有一个通过ajax调用提交数据的基本表单。数据被php截取并插入mysql数据库。问题是,准备好的sql语句只提交从ajax调用发送的数组中的最后一个值。如何提交所有值?通过ajax发送的阵列中的更多详细信息: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]
尝试使用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.
}