首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP For-loop for Post数组

PHP For-loop for Post数组
EN

Stack Overflow用户
提问于 2012-09-19 17:57:40
回答 4查看 222关注 0票数 0

因此,我在页面2上有一个动态表,用户可以在其中添加任意数量的条目。提交后的3页是所有的信息都很好。问题是我在数组中的for循环迭代不起作用。代码如下:

代码语言:javascript
复制
for($i = 0; $i < sizeof($_POST["fname_new"]); $i++) {
    $fname_new = $_POST["fname_new"][i];
    $lname_new = $_POST["lname_new"][i];
    $phone_new = $_POST["phone_new"][i];
    $email_new = $_POST["email_new"][i];
    $ethnicity_new = $_POST["ethnicity_new"][i];
    $stmt = $link -> prepare("INSERT INTO Conference (`First Name`, `Last Name`, `Phone`, `Email`, `Ethnicity`) VALUES (:first_new, :last_new, :phone_new, :email_new, :ethnicity_new)");
    $stmt->bindParam(':first_new', $fname_new);
    $stmt->bindParam(':last_new', $lname_new);
    $stmt->bindParam(':phone_new', $phone_new);
    $stmt->bindParam(':email_new', $email_new);
    $stmt->bindParam(':ethnicity_new', $ethnicity_new);
    $stmt->execute();
}

所以当我这么做的时候

代码语言:javascript
复制
echo sizeof($_POST["fname_new"]);

它向我显示了正确的数字,所以如果用户在第2页上添加了3行,那么回显的值应该是3,它就是3。当我这样做的时候:

代码语言:javascript
复制
echo $_POST["fname_new"][0];

然后适当地给出第一行中的第一个名字。我可以用任何数字替换0,只要它在边界内,并且是正确的。但出于某种原因当我这么做的时候

代码语言:javascript
复制
echo $_POST["fname_new"][i];

它不打印任何东西。我不知道为什么这个for循环不能工作。从逻辑上讲这是正确的。有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-19 17:58:49

您忘记了$指向变量i

试试这个:

代码语言:javascript
复制
echo $_POST["fname_new"][$i];
票数 3
EN

Stack Overflow用户

发布于 2012-09-19 18:01:16

除了给出的所有答案之外,您还忽略了准备好的查询的要点。您只需准备一次查询,就会多次使用它的。

所以:

代码语言:javascript
复制
  $stmt = $link -> prepare(
     "INSERT INTO Conference (`First Name`, `Last Name`, `Phone`, `Email`, `Ethnicity`)
      VALUES (:first_new, :last_new, :phone_new, :email_new, :ethnicity_new)");

应该在循环之外!

票数 3
EN

Stack Overflow用户

发布于 2012-09-19 17:59:17

你少了一个$

代码语言:javascript
复制
$fname_new = $_POST["fname_new"][$i];
$lname_new = $_POST["lname_new"][$i];
$phone_new = $_POST["phone_new"][$i];
$email_new = $_POST["email_new"][$i];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12492430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档