1

こんにちは、クイズシステムを構築しています。基本的に、$questions という配列に質問があり、配列 $answers に回答があります。データの質問と回答をこの配列に追加するために、html php でインターフェイスを作成しました。

$question1 = $_POST['question1'];
$question2 = $_POST['question2'];

$ans1 = $_POST['ans1'];
$ans2 = $_POST['ans2'];

$questions = array();

array_push($questions,$question1,$question2);

$answers = array();

array_push($answers,$ans1,$ans2); 

この値をデータベースに挿入するために、これが私がしていることです

$quest_count = count($questions);

for ($i=0;$i<=$quest_count;$i++)
{
  $query = "INSERT INTO quiz (question,answer) VALUES ('$questions[$i]','$answers[$i]')";
  $result = mysql_query($query);
}

したがって、私の問題は、質問配列には質問1と質問2の2つの値が含まれているため、forループはデータベースに2行を追加する必要がありますが、1行しか追加しないことです。('$questions[$i]','$answers[$i]') の部分に問題があると確信しています。

ありがとう

4

3 に答える 3

1

<=ループで演算子を使用しています。

以下に変更します。

for ($i=0;$i<$quest_count;$i++)
{
  $query = "INSERT INTO quiz (question,answer) VALUES ('$questions[$i]','$answers[$i]')";
  $result = mysql_query($query);
}

また、入力文字列を適切にサニタイズしてください。

于 2013-10-17T06:29:18.010 に答える
0

for ループで <= を使用するよりも < を使用してください。これにより、ループが 2 回実行されるか、質問配列の正確な数が確実に実行されます。

于 2013-10-17T06:31:09.553 に答える