我有一个使用Ajax调用的save.php
页面,它包含以下元素:
$q1 = $_POST["q1"];
$q2 = $_POST["q2"];
$q3 = $_POST["q3"];
$q4 = $_POST["q4"];
$q5 = $_POST["q5"];
$proc = mysqli_prepare($link, "INSERT INTO tresults
(respondent_id, ip, browser, company, q1, q2, q3, q4, q5)
VALUES (?, ?, ?, ?, ?, ?, ?, ?);");
mysqli_stmt_bind_param($proc, "issiiiii",
$respondent_id, $ip, $browser, $company,
$q1, $q2, $q3, $q4, $q5);
目前,save.php
页面是手动编码的,但我确信必须有一种方法可以使用variable variables
自动化此页面,特别是当字段数超过100时我正在保存到数据库。
然而,我无法使用variable variables
来解决问题,并且可以使用一些指导。
我没有用,但尝试了以下内容:
for ($i = 1; $i <= 5; $i++) {
echo '$q.$i = $_POST["q".$i];';
}
以及
for ($i = 1; $i <= 5; $i++) {
$q.$i = $_POST["q".$i];
}
欢迎任何和所有建议。
感谢。
答案 0 :(得分:2)
您可以使用:
${'q'.$i} = $_POST['q'.$i];
此外:
for ($i = 1; $i <= 5; $i++) {
echo '$q.$i = $_POST["q".$i];';
}
应该是:
for ($i = 1; $i <= 5; $i++) {
echo "$q.$i = $_POST['q'.$i];";
// ^ ^
}
否则变量不会在字符串内插入。
答案 1 :(得分:0)
将它们包裹在{}
中
for ($i = 1; $i <= 5; $i++) {
${'q'.$i}=$_POST['q'.$i];
}
请完成此操作一次以供参考http://www.php.net/manual/en/language.variables.variable.php