我正在尝试INSERT使用 SQL 语句将一些数据放入我的表中。用户完成了一项包含 10 个问题的调查,然后我想 INSERT使用一条 SQL 语句将这 10 个答案输入数据库。所以本质上唯一会改变的两个字段是questionID和answer列?请注意,我刚刚在<form>信息标签中给出了 2 个问题作为示例。问卷:<!-- Attempt 2 of questionnaire --><form action="scripts/submit-survey.php" method="post"> <?php $questionnaire = "Welcome Questionnaire"; $questionID = 1; $stmt = $conn->prepare ("SELECT `questionnaire`.`questionnaireName`, `questionnaireQuestions`.`questionID`,`question`.`question` FROM `questionnaire` INNER JOIN `questionnaireQuestions` ON `questionnaire`.`questionnaireID` = `questionnaireQuestions`.`questionnaireID` INNER JOIN `question` ON `questionnaireQuestions`.`questionID` = `question`.`questionID` WHERE `questionnaire`.`questionnaireName` = ? AND `question`.`questionID` = ?"); $stmt->bind_param("si", $questionnaire, $questionID); $stmt->execute(); $result = $stmt->get_result(); while($row = $result -> fetch_assoc()) { ?> <p><?php echo $row['question']; ?></p> <?php } ?> <label><input type="radio" name="q1" value="1"> 1</label> <br> <label><input type="radio" name="q1" value="2"> 2</label> <br> <label><input type="radio" name="q1" value="3"> 3</label> <br>数据库表:
1 回答

ITMISS
TA贡献1871条经验 获得超8个赞
您缺少 $questionID 的 1 个值。
尝试
$questionID = 1;
foreach ($answer_bank as $a) {
$stmt->execute();
$questionID++;
}
使用别名改进您的查询
$stmt = $conn->prepare ("SELECT
`qn`.`questionnaireName`,
`qQ`.`questionID`,
`q`.`question`
FROM `questionnaire` `qn`
INNER JOIN `questionnaireQuestions` `qQ` ON `qn`.`questionnaireID` = `qQ`.`questionnaireID`
INNER JOIN `question` `q` ON `qQ`.`questionID` = `q`.`questionID`
WHERE `qn`.`questionnaireName` = ? AND `q`.`questionID` = ?");
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消