使用php将数组数据存储到mysql数据库

xpcnnkqh  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(362)

我正在尝试将数组存储到mysql表中。我的表有6列(问题,选项1-4,正确)。我使用数组保存从html表单输入的数据。我使用for循环来获取每个表单的每个数据(每种形式都是一个有4个选项的问题和一个正确答案)。我的php代码:

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "q-a";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// store question and answer
for ($i=0, $i < count($_POST['q1'], $i++){
    $question = $_POST['q1'][$i];
    $choice1 = $_POST['c1'][$i];
    $choice2 = $_POST['c2'][$i];
    $choice3 = $_POST['c3'][$i];
    $choice4 = $_POST['c4'][$i];
    $correct = $_POST['ca'][$i];    

    $store_question = "INSERT INTO quiz (question, choice1, choice2, choice3, choice4, correct) VALUES ('$question', '$choice1', '$choice2', '$choice3', '$choice4', '$correct')";
    $result_get_question = mysqli_query($conn, $store_question);
}  

    $conn->close();
    ?>

什么都没发生。有人能看出我错在哪里吗。我们需要使用serialize()函数吗?

zbsbpyhn

zbsbpyhn1#

错误一:你错过了一次机会 ) 在你的 count() 中的函数 forloop 错误2:你在循环中使用了错误的语法。你必须使用 ; 而不是 , 更新代码:

for ($i=0; $i < count($_POST['q1']); $i++){
    $question = $_POST['q1'][$i];
    $choice1 = $_POST['c1'][$i];
    $choice2 = $_POST['c2'][$i];
    $choice3 = $_POST['c3'][$i];
    $choice4 = $_POST['c4'][$i];
    $correct = $_POST['ca'][$i];    

    $store_question = "INSERT INTO quiz (question, choice1, choice2, choice3, choice4, correct) VALUES ('$question', '$choice1', '$choice2', '$choice3', '$choice4', '$correct')";
    $result_get_question = mysqli_query($conn, $store_question);
}

相关问题