php - 使用 PHP 和 HTML 将文本字段插入数据库

标签 php html mysql

我正在尝试使用文本条目将文本添加到数据库,这是 index.php 的文本条目部分:

<form action="steamauth/senddb.php" method="get">
<input type="text" name="username" placeholder="John Doe">
<input type="text" name="steamid" placeholder="12939124953">
<input type="text" name="server" placeholder="VanityRP | DarkRP"><br><br>
<input type="submit" class='btn btn-success' style='margin: 2px 3px;'>
</form>

现在是 steamauth/senddb.php 代码:

 $value1 = $_POST['username'];
$value2 = $_POST['steamid'];
$value3 = $_POST['server'];
$sql = "INSERT INTO StaffTeam (username, steamid, server) VALUES('".$value1."', '".$value2."', '".$value3."')"; 
if ($conn->query($sql) === TRUE) {
echo "Admin added succesfully, redirecting in 3 seconds...";
header( "refresh:3;url=http://vanityrp.site.nfoservers.com/index.php" );
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

所以,现在,问题是,我在数据库中得到空记录,我该如何解决

最佳答案

这里有两处错误。

首先,您在表单中使用 GET 方法,然后使用 POST 数组。

  • 两者都需要匹配。 POST/POST 而不是 GET/POST。

然后你在标题之前输出,标题顶部有回显。

您现在的密码是开放给SQL injection .使用 mysqli_* with prepared statements , 或 PDOprepared statements .

如果您尝试传递 MySQL 会报错的数据,例如 John's Bar & Grill(撇号),那么您需要对数据进行转义;无论如何你应该做的事情。

即:

$var = mysqli_real_escape_string($conn, $_POST['var']);

您的列类型和长度也应该正确并且能够容纳数据。


添加error reporting到您的文件的顶部,这将有助于查找错误。

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

// rest of your code

旁注:显示错误只应在试运行中进行,绝不能在生产中进行。

另外,请确保您已使用 mysqli_ 成功连接到您的数据库。

  • 不同的 MySQL API 不会混用。 (旁注)。

关于php - 使用 PHP 和 HTML 将文本字段插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34459581/

相关文章:

mysql - 如果属性是 bool 数据类型,如何在 mysql 查询中使用 if else 条件

MySQL - 全文搜索

php - 我可以检测 PNG 文件是否是从多页 PDF 文件转换而来,并使用 ImageMagick 将图像拆分为单独的文件吗?

php - 理解 php "Out of memory"错误

javascript - 将来自用户 inmidatley 的输入添加到 &lt;input&gt;

javascript - MouseListener 和 HTML5 canvas 对象

html - 表单字段未正确对齐

php连接mysql出现错误信息

php - MySQL 高分 - 用户个人排名 : Duplicate Entries Causing Incorrect Values

php - 如何修复语法错误,PHP 中意外的 T_IF 错误?