【发布时间】:2019-05-18 09:10:25
【问题描述】:
我对 PHP 和 SQL 比较陌生,所以您可以想象,在创建数据库和使用 SQL 和 PHP 添加到数据库时,我感到非常困惑。基本上,我现在只是在运行一个测试,看看我是否可以使用来自我的 html 的输入将值添加到我的数据库中的表中。我已经成功地将 PHP 文件连接到我的数据库和表,但是,当我检查我的表时,行是空白的。如果您可以查看我的代码以了解我做错了什么,我将不胜感激!
这是我的 HTML 表单
<form action='test.php' method='get'>
<input type='name' id='name' requiredtype='text' name='name'
style='position: fixed; left: 200px; top:400px;'>
<input type='email' id='email' requiredtype='text' name='email'
style='position: fixed; left: 200px; top:420px;'>
<input type='submit' style='position: fixed; left: 200px;
top:440px;'>
</form>
这是我的 test.php 代码
<?php
$name = ($_POST['name']);
$email = ($_POST['email']);
$servername = "localhost";
$username = "...";
$password = "...";
$dbname = "...";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else if($conn) {
echo 'Good Work Your Connected!';
}
$sql = "INSERT INTO nameEmailTable (Name, Email)
VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
连接工作正常,只是数据输入不起作用。
【问题讨论】:
-
你永远不会定义
$name或$email。而且,即使你这样做了,你也会对 SQL 注入持开放态度。 -
@JohnConde 再次这只是一个测试,我知道这是不安全的事实。我在写 $_POST('name'); 时定义了 $name 和 $email;
-
我可能是错的我不确定
-
@JohnConde 对不起,我才意识到。我已经修改过了,还是不行。
-
“只是一个测试”不是不安全代码的借口。作为测试“开始”的代码通常最终在现实世界中使用。无论您打算如何使用您的代码,始终从安全开始。
标签: php html mysql database forms