如何插入以逗号分隔的值

时间:2016-01-29 10:44:02

标签: php mysql

如何使用逗号将值插入数据库。
在我的测验应用程序中有4个选项。用户可以参加测验可以点击下一个按钮,每次发布的值都是这样的:

$category_id = $_POST['category_id'];
$AnswerID = $_POST['AnswerID'];
$questionid = $_POST['questionid'];
$timetaken = $_POST['timetaken'];

每次用户可以为测验提出10个问题。如何将这些值保存到以下内容中:

    user_id category_id answer_id  questionid  timetaken 
        1         2     3,4,4,3    1,2,3,4      2,3,4,5<br>

category_id同样适用于10个问题。 如何只保存以逗号分隔的answer_id,questionid,timetaken值?

5 个答案:

答案 0 :(得分:1)

首先将列的dtat类型用作VARCHAR或Text

在你的代码中,你有answer_id,question_id和timetaken的数组值。

我的意思是你必须为输入标签设置attr名称,如name="answer_id[]"

它会帮助你很多

然后在你的插入查询之前的PHP代码中使用带有逗号熟人的

的impode函数

如下所示:

$ansres = implode(",",$_POST['answer_id']);

然后在插入查询中使用此变量。

它将根据您的需要插入值。

我希望它会对你有所帮助。

答案 1 :(得分:1)

有一个数组来存储多个答案并执行implode

$yourAnswer=implode(',',$yourFinalArray);

答案 2 :(得分:0)

如果你只想在数据库表的一列中保存answer_id,question_id和time_taken,这就是解决方案:

在您的数据库表格中创建一个TEXT列,您将在此示例中保存结果我会将此列称为“得分”,表格将为game_stuffs

<?php
$servername = "localhost";
$username = "user";
$password = "dbpasswd";
$dbname = "Data_base_name";


$category_id = $_POST['category_id'];
$AnswerID = $_POST['AnswerID'];
$questionid = $_POST['questionid'];
$timetaken = $_POST['timetaken'];
$RESULT = $AnswerID.",".$questionid.",".$timetaken;

$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "INSERT INTO game_stuffs (scores) VALUES ('$RESULT')";
if ($conn->query($sql) === TRUE) {
    echo "Score successfully saved to database";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

希望有所帮助

答案 3 :(得分:0)

列的数据类型(answer_id,questionid,timetaken)必须是文本。

使用Array存储多个答案并将其内爆并保存。

答案 4 :(得分:0)

您必须在MySQL数据库中使用具有不同值的列作为VARCHAR,并将它们作为字符串插入,并使用逗号作为分隔符。