繁体   English   中英

PHP值未在sql数据库中填充?

PHP values not populating in sql database?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个简单的表格来接收用户数据并将其插入到sql数据库中。 当用户点击“提交”时,它确实创建了一个新的输入行(因此我知道它正在连接到数据库),但是没有一个值像预期的那样发布。 我一直在关注w3schools的教程,但不确定我的价值观在哪里丢失。 有人能指出我正确的方向吗?

形成:

<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Sid = $_POST["Sid"];
$Email = $_POST["Email"];
$Dtype = $_POST["Dtype"];
$Mac = $_POST["Mac"];
?>

<html>
<head>
<title>Register School Device</title>
</head>
<body>
<form method="post" action="SMA_Send.php">
First Name:<input type="text" size="12" maxlength="20" name="Fname"><br />
Last Name:<input type="text" size="12" maxlength="36" name="Lname"><br />
Student ID:<input type="text" size="12" maxlength="12" name="Sid"><br />
Email:<input type="text" size="12" maxlength="36" name="Email"><br />
Device Type:<br />
<select name="Dtype">
<option value="iPad">iPad</option>
<option value="iPhone">iPhone</option>
<option value="AndroidTablet">Android Tablet</option>
<option value="AndroidPhone">Android Phone</option></select><br />
Mac Address:<input type="text" size="12" maxlength="36" name="Mac"><br />
<input type="submit" value="submit" name="submit">
</form>

发送:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO StudentDeviceReg (Fname, Lname, Sid, Email, Dtype, Mac, Date)
VALUES ('$Fname','$Lname','$Sid','$Email','$Dtype','$Mac',NOW())";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
2 个回复

这些属于您的PHP / SQL SMA_Send.php文件,而不属于您的表单。

$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Sid = $_POST["Sid"];
$Email = $_POST["Email"];
$Dtype = $_POST["Dtype"];
$Mac = $_POST["Mac"];

使用错误报告时 ,会发出未定义变量的信号。

我还需要注意,您当前的代码可以进行SQL注入 使用预处理语句或将PDO与预处理语句结合 使用起来更加安全


将错误报告添加到文件顶部,这将有助于发现错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告仅应在登台进行,而不应在生产过程中进行。

我在任何地方都看不到您使用$_POST

使用$_POST["Fname"]和其他类似的东西。

或者您可以这样做:

$Fname = $_POST["Fname"];// for the rest also.
1 PHP表单未填充SQL数据库

我有一个工作正常的表单,但是我需要在表单中添加12个字段。 我将12个字段添加到数据库中,然后编辑了表单,并在表单的php和html中添加了所有字段。 该表单本身是通过电子邮件发送的,但未填充数据库。 没有错误消息,我已经遍历了很多次,找不到丢失的内容。 相关章节如下。 ...

2 PHP和SQL'INSERT INTO'不填充SQL数据库

提前谢谢。 我已经检查了论坛。 php程序允许用户登录并在mySQL数据库表Names输入信息。 它检查是否已填写所有字段,密码是否匹配,用户是否不存在。 这是一起工作的几个程序之一 除一方面以外,所有代码均有效。 它将不会插入数据库表Names 。 几个月前,我遇到了一个 ...

3 PHP MySQL从数据库填充值

可以说我检索了所有位置都属于top8的值。我将它们填充到一个表中,而不是显示不同类型的值,而是显示3个具有3个不同值的表,这是怎么回事? 有什么帮助,以便可以显示属于某些值的不同值? 我只需要一张带有3个不同值的表。 ...

2012-01-02 10:44:09 4 122   php/ mysql
4 在PHP中从SQL数据库填充DropDown

我试图从SQL数据库中获取数据,以便填充几个下拉列表。 这是节选,但是如果您愿意,我可以发布更多内容。 我没有包括所有内容,因为它多于几行。 出于某种原因,无论我如何尝试,下拉列表均保持空白。 ...

5 使用值填充MySQL数据库

我的笔记本电脑上有一个本地安装的MySQL服务器,我想使用其中的信息进行单元测试,所以我想创建一个脚本来自动生成所有数据。 我正在使用已经生成表格的MySQL Workbench(来自模型)。 是否可以使用它或其他工具创建自动脚本以使用数据填充它? 编辑:我现在看到我不清楚。 我确实 ...

6 用数据库值填充QTableWidget

在我的GUI应用程序中,我想用来自Oracle DB的值填充QTableWidget 。 我知道使用QTableView和QSqlQueryModel 。 但是我想稍后逐项访问数据,因此我想使用QTableWidget 。 我已经成功建立了到oracle数据库的连接,用于填充数据的代码 ...

7 填充 Django SQL 数据库

我想为我可以使用 django 访问的图像创建一个数据库。 对于模型,我想沿着这些线创建一些东西 其中 image_loc 是图像文件位置,而 image_year 是图像拍摄年份。 我想用多个图像填充数据库。 我是网站设计和 django 的新手,想知道是否有人知道我该怎么做? ...

8 PHP文件 - 填充动态