如何使用逗号将值插入数据库。
在我的测验应用程序中有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值?
答案 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,并将它们作为字符串插入,并使用逗号作为分隔符。