0

ネストされた の助けが必要foreachです。

これは私のコードです:

$program = $_POST['program'];
$licence = $_POST['licence'];
    foreach($program as $p){
        foreach($licence as $l){
mysql_query("INSERT INTO programs (pcname, program, licence) VALUES ('". $pcname ."', '". $p ."', '". $l ."')");

  }
}

これは機能しません。その理由はわかっています。しかし、問題を解決する方法が見つかりません。問題は、それが inside のすべての値をforeach通過し、次に outside の次の値のためにもう一度すべてを通過することforeachです。

これはおそらく十分に説明されていませんが、私が何を達成しようとしているのか、そして私を助けるために何をしているのかを理解していただければ幸いです.

4

2 に答える 2

2

たとえば、2 つの配列の要素間に 1:1 のマッピングがあるとします。それぞれ 5 の場合、ネストされたループは 25 の挿入呼び出しを生成します。ある配列のキーを使用して、別の配列を参照する必要があります。

foreach($program as $key => $p) {
    $l = $license[$key];
    mysql_query(...);
}

そして、あなたはSQLインジェクション攻撃に対して広くオープンであることに注意してください.

于 2013-04-11T19:26:38.053 に答える
0

私が間違っている場合は修正してください。ただし、クエリステートメントを最初の for ループの後に移動するだけで問題が解決すると思います...

于 2013-04-11T19:37:46.183 に答える