Mysql查询没有执行?

时间:2014-08-23 07:58:02

标签: php mysql

我一直在尝试将一个问题数组放入mysql表中,问题1,问题2,问题3每个问题最多20列,但此查询无法正常工作:

第一个查询获得成功,但第二个查询无法正常工作,请按:

$form_name = $_POST['form_name'];
$form_questions_no = $_POST['form_questions_no'];

$query_1 = mysqli_query($mysqli,"INSERT INTO forms (form_name,form_questions_no)
VALUES ('$form_name','$form_questions_no');") or die(mysqli_connect_error());

if ($query_1) {
echo "Form Name & Form Questions No Done.!</br></br>";
} 

$questions = $_POST['questions'];

for($i=0;$i<count($questions);$i++)
{

$query_text = "INSERT INTO forms (question$i)
VALUES ('$questions[$i]') WHERE form_name='$form_name'";

$query_2 = mysqli_query($mysqli,"$query_text;") or die(mysqli_connect_error());

if ($query_2) {
echo "Question $i Done!";
}
}

所以如果你们有人可以指导我的话......我会感激的......!我是PHP的初学者,这就是为什么......!

3 个答案:

答案 0 :(得分:2)

你想要arrays!将输入字段命名为:

<input name="questions[]" ...>

然后您将在PHP中获取一个数组:

$questions = $_POST['questions'];

你可以遍历它:

foreach ($questions as $question) {
    echo $question;
}

有几十个名为$question_no_*的个体变量是纯粹的疯狂。

答案 1 :(得分:0)

使用forloop

for($i=0;$i<count($questions);$i++)
{
   echo $questions[$i]; //write your sql query here
}

从单列

获取数据
$query="select question from table";
        $result=mysqli_query($connection,$query);
        while($row=mysqli_fetch_assoc($result))
        {
            echo $row['question'];
        }

如果您想将其作为question_no_1,question_no_2等..,请使用以下代码

extract($_POST); //will give you $_POST['question_no..'] as $question_no_..
$fields_number = 5;
for ($x=0;$x < $fields_number;$x++) {

if (isset(${'question_no_'.$x++})) { 
$question_no_$x++ = ${'question_no_'.$x++}; 
} else { 
${'question_no_'.$x++}++ = ""; 
}

${'question_no_'.$x++} //this will give you $question_no_1, $question_no_2 etc..

Check here用于加入两个变量

}

答案 2 :(得分:0)

试试这个:

<?php 
$fields_number = 5; 
for ($x=0;$x < $fields_number;$x++){ 
    if (isset($_POST["question_no_$x"]))
    { 
        $question_no[$x] = $_POST["question_no_$x"]; 
    } else { 
        $question_no[$x] = ""; 
    } 
} 
print_r($question_no);

?>