在mysql数据库中插入索引数组值

时间:2013-10-17 06:25:55

标签: php mysql

您正在建立一个测验系统,基本上我有一个名为$ questions和数组$答案的数组中的问题我在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);
}

所以我的问题是这个for循环应该在数据库中添加两行,因为questions数组包含两个值question1和question2但它只添加一行。任何人都可以帮我解决这个问题('$ questions [$ i]','$ answers [$ i]')有问题的部分。

感谢

3 个答案:

答案 0 :(得分:1)

您在循环中使用<=运算符。

将其更改为小于:

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

另外,请确保正确清理输入字符串。

答案 1 :(得分:0)

请使用&lt;比在for循环中使用&lt; =,这将确保循环运行两次或者是问题数组的精确计数。

答案 2 :(得分:0)

试试这个:

Here no need to count array values & for loop. Instead use foreach loop.

Here is the solution:

foreach ($questions as $key1 => $que, $answers as $key2 => $ans)
{
  $query = "INSERT INTO quiz (question,answer) VALUES ('$que','$ans')";
  $result = mysql_query($query);
}

- 感谢