我很难过。我已经在Stackoverflow上查看了多个答案,但是无法得到它。也许我只是没有看到什么。
我正在制作一个Family Feud游戏,并使用PHP和MySQL数据库存储和检索信息。对于Fast Money Round,我有一个带有表格的数据库,名为" FastMoney1"我使用HTML5表单和PHP将表单中的数据发布到该表,该表有两列:答案和分数
我通过for循环运行我的查询,但它没有向表中发布任何内容。我想知道我做错了什么。
HTML:
<form method="post" class="form-horizontal">
<div class="form-group">
<div class="col-xs-9">
<input type="text" class="form-control" id="question1answer" name="answer[0]" placeholder="Question 1">
</div>
<div class="col-xs-3">
<input type="number" class="form-control" id="question1score" name="score[0]" placeholder="0">
</div>
</div>
<div class="form-group">
<div class="col-xs-9">
<input type="text" class="form-control" id="question1answer" name="answer[1]" placeholder="Question 2">
</div>
<div class="col-xs-3">
<input type="number" class="form-control" id="question1score" name="score[1]" placeholder="0">
</div>
</div>
<div class="col-xs-4 col-xs-offset-4" align="center">
<input type="submit" class="btn btn-success" name="Submit" />
</div>
</form>
PHP:
<?php
if(isset($_POST['submit'])){
require "config.php";
for ($i = 0; $i<count($_POST); $i++){
$answer = $_POST['answer'][$i];
$score = $_POST['score'][$i];
$sql = "INSERT INTO `fastMoney1`(`answer`, `score`) VALUES ('$answer','$score')";
if ($conn->query($sql) === TRUE) {
echo "";
} else {
echo $conn->error;
}
}
$conn->close();
echo "<meta http-equiv='refresh' content='0'>";
}
?>
所有这些都存在于同一个PHP页面上,这就是为什么我没有附加到表单的操作。
config.php是一个包含,它调用主机,用户名,密码和数据库并打开连接
答案 0 :(得分:2)
请记住,PHP变量区分大小写,您在表单中给出了名称Submit
,而在php中,您正在检查if(isset($_POST['submit'])){
,它永远不会成为现实。
将其更改为
if(isset($_POST['Submit'])){ //<----- S in upper case
修改强> 您还需要将循环更改为
for ($i = 0; $i<count($_POST['answer']); $i++){
答案 1 :(得分:-1)
<input type="submit" class="btn btn-success" name="submit" />
我改变了
name="Submit"
到
name="submit"
&#34;提交&#34;提交&#34;提交&#34; -----&GT;&#34; S&#34;到&#34; s&#34;
并且工作正常
答案 2 :(得分:-1)
查看你的sql语句,你不需要表名和列名中的那些&符号INSERT INTO fastMoney1
(answer
,score
)VALUES('$ answer','$ score “)