0

所以我有五个成员变量,但不是写:

if(isset($_POST['member1'])) {
    $member1 = mysqli_escape_string($mysqli, $_POST['member1']);
} else {
    $member1= '';
}

对于所有成员(没有错误),我想做一个 for 循环,但每次我运行循环时:

for($i = 1; $i <= 5; $i++) {
    if(isset($_POST['member . $i'])) {
            $member . $i = mysqli_escape_string($mysqli, $_POST['member . $i']);
        } else {
            $member . $i = '';
        }
}

我收到此错误:

Notice: Undefined variable: member

五次。我究竟做错了什么?

4

2 回答 2

1

我注意到您的代码中有两个错误:

  • 你正在做$_POST['member . $i']——变量值在单引号中时不会被插值。您应该使用双引号,或正确连接它们
  • 您正在尝试使用$member . $i-- 它也不起作用来声明变量。您需要使用${}语法定义它们。例如:${'member'. $i}

尝试这个:

for($i = 1; $i <= 5; $i++) {
    if(isset($_POST['member' . $i])) {
        ${'member'. $i} = mysqli_escape_string($mysqli, $_POST['member' . $i]);
    } else {
        ${'member'. $i} = '';
    }
}
于 2013-10-16T14:48:44.737 回答
0

首先它需要是$_POST['member' . $i]

比您尝试使用变量$member与它连接但它不存在。

于 2013-10-16T14:49:17.500 回答