php - 使用 PHP 将数组数据存储到 mySQL 数据库
问题描述
我正在尝试将数组存储到 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() 函数吗?
解决方案
错误 1)
:你在你的count()
函数中错过了 aforloop
错误 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);
}
推荐阅读
- python - 如何解决 Resnet 模型中输出张量的值错误?
- mongodb - Mongo 从文档中的其他字段生成 id
- networking - 如何从客户端检测服务器 IP 并使用 TCP/IP 与该服务器连接?
- node.js - 使用 Buffer.allocUnsafe() 和 Buffer.alloc() 是什么情况?
- php - 如何使用 Doctrine 组合 Symfony 4 中唯一的两列?
- firebase - 在 null 上调用了方法“add”
- js-xlsx - 在使用带有 XLSX.utils.json_to_sheet 的标头选项时,标头不会覆盖
- php - 如何避免插入重复记录
- vba - 在 VB 中简化多个类似的“私人潜艇”
- javascript - Chrome 任务管理器中的内存占用、Javascript 内存和实时内存有什么区别?