【发布时间】:2019-12-14 16:15:28
【问题描述】:
代码中存在某种错误,我无法发现它。与数据库的连接工作正常,我可以验证
这是 HTML 代码 在 HTML 中,我创建了一个表单来将数据插入到数据库中
<!DOCTYPE html>
<html class="html">
<form method="post" name="Draw" action="form/insertdata.php">
<input type="date" name="form_fields[date] " >
<input type="number" name="form_fields[am113d]" >
<input type="number" name="form_fields[am112d]">
<input type="number" name="form_fields[am111d]" >
<input type="number" name="form_fields[pm13d]" >
<input type="number" name="form_fields[pm12d]" >
<input type="number" name="form_fields[pm11d]" >
<input type="number" name="form_fields[pm53d]" >
<input type="number" name="form_fields[pm52d]" >
<input type="number" name="form_fields[pm51d]">
<input type="number" name="form_fields[pm63d]">
<input type="number" name="form_fields[pm62d]">
<input type="number" name="form_fields[pm61d]">
<input type="number" name="form_fields[pm73d]">
<input type="number" name="form_fields[pm72d]" >
<input type="number" name="form_fields[pm71d]" >
<button type="submit" name="submit">Submit</button>
</form>
</html>
这是 PHP 代码
这是从 HTML 表单中收集数据并将其存储到 MySql 数据库中的 PHP 代码
*如果我使用此代码,只有一个空行被插入到数据库中,表单中输入的值不会被插入 *
<?php
include_once 'Configuration.php';
$Dateee = $_POST['form_fields[date]'];
$am113d = $_POST['form_fields[am113d]'];
$am112d = $_POST['form_fields[am112d]'];
$am111d = $_POST['form_fields[am111d]'];
$pm13d = $_POST['form_fields[pm13d]'];
$pm12d = $_POST['form_fields[pm12d]'];
$pm11d = $_POST['form_fields[pm11d]'];
$pm53d = $_POST['form_fields[pm53d]'];
$pm52d = $_POST['form_fields[pm52d]'];
$pm51d = $_POST['form_fields[pm51d]'];
$pm63d = $_POST['form_fields[pm63d]'];
$pm62d = $_POST['form_fields[pm62d]'];
$pm61d = $_POST['form_fields[pm61d]'];
$pm73d = $_POST['form_fields[pm73d]'];
$pm72d = $_POST['form_fields[pm72d]'];
$pm71d = $_POST['form_fields[pm71d]'];
$sql = "INSERT INTO `Draw_tabel`
(`Date`, `A113d`, `A112d`, `A111d`, `A133d`, `A132d`, `A131d`, `A173d`, `A172d`, `A171d`, `A183d`, `A182d`, `A181d`, `A193d`, `A192d`, `A191d`)
VALUES
('$Dateee', '$am113d', '$am112d', '$am111d', '$pm13d', '$pm12d', '$pm11d', '$pm53d', '$pm52d', '$pm51d', '$pm63d', '$pm62d', '$pm61d', '$pm73d', '$pm72d', '$pm71d');";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
数据库
这是创建 MySql 数据库的 SQL 代码
CREATE TABLE `Draw_data`.`Draw_tabel` (
`Date` TEXT NOT NULL ,
`A113d` TEXT NOT NULL ,
`A112d` TEXT NOT NULL ,
`A111d` TEXT NOT NULL ,
`A133d` TEXT NOT NULL ,
`A132d` TEXT NOT NULL ,
`A131d` TEXT NOT NULL ,
`A173d` TEXT NOT NULL ,
`A172d` TEXT NOT NULL ,
`A171d` TEXT NOT NULL ,
`A183d` TEXT NOT NULL ,
`A182d` TEXT NOT NULL ,
`A181d` TEXT NOT NULL ,
`A193d` TEXT NOT NULL ,
`A192d` TEXT NOT NULL ,
`A191d` TEXT NOT NULL
) ENGINE = MyISAM;
【问题讨论】:
-
如果您在尝试输入数据库之前
var_dump( $_POST )会显示正确/预期的数据吗? -
危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。