【发布时间】:2013-04-25 18:36:58
【问题描述】:
在上一篇文章中,我询问了如何反序列化 JQuery 字符串,并被告知使用 parse_str()。但是,直到后来我才发布我的代码。所以,这是我的 JQuery 字符串:
age_gender=1&age_gender=2&age_gender=3&age_gender=4&age_gender=5&age_gender=6
这是我的 PHP 代码:
if(isset($_POST['age_gender'])) {
$formSerialized = $_POST['age_gender'];
$formData = array();
parse_str($formSerialized, $formData);
addRow($formData, $link);
}
function addRow($dataArray, $link) {
$age_group = $dataArray[0];
$populations = array(intval($dataArray[1]) + intval($dataArray[2]), intval($dataArray[1]), intval($dataArray[2]));
$percents = array(doubleval($dataArray[3]) + doubleval($dataArray[4]), doubleval($dataArray[3]), doubleval($dataArray[4]));
$m_per_100_f = doubleval($dataArray[6]);
$query = "INSERT INTO national_age_gender_demographics (age_group, both_pop, male_pop, female_pop, both_percent, male_percent, female_percent, males_per_100_females)
VALUES ('$age_group','$populations[0]','$populations[1]','$populations[2]','$percents[0]','$percents[1]','$percents[2]','$m_per_100_f')";
$result = mysqli_query($link,$query);
if(!$result) die( "Query: " . $query . "\nError:" . mysql_error() );
}
由于某种原因,我得到了 $age_group 的空白字符串,而所有其他值都为 0。有人可以帮我吗?
【问题讨论】:
-
age_gender 接收了多少值?
-
为什么所有参数都同名
-
我正要问同样的问题,age_gender 被覆盖了,所以你只需要一个值。
-
PHP 期望
age_gender为age_gender[],因为它是一个数组。 -
那么,我是否将
age_gender的两个实例都替换为age_gender[]?
标签: php jquery string serialization