使用PHP $ _POST插入INTO

时间:2018-03-27 14:34:47

标签: php mysql sql post insert

我是数据库开发的新手,并且真的在格式化方面苦苦挣扎。对于我的生活,我似乎无法消除错误。我有一个简单的html表单,我传递给我的php文件提交给我的本地主机。无论出于何种原因,我似乎无法在值中添加$ _POST。我确定我错过了一些东西,也许这里有人可以提供帮助。

提前致谢!

<form method="post" action="demo.php">
<input type="text" id="fname">
<input type="text" id="lname">
<input type="text" id="email">
<input type="submit" value="Go!">
</form>

我的demo.php是:

<html>
<body>
<?php
$servername = "localhost";
$username = "myuser";
$password = "";
$dbname = "my_db";

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

 $sql = 
 'INSERT INTO
   test_tb (firstname, lastname, email)
  VALUES
  (
   "echo $_POST['fname']",
   "echo $_POST['lname']",
   "echo $_POST['email']"
  )';

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

$conn->close();
?>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

首先改变你的形式..
看看你的输入;以此为例:
<input type="tel" id="tel" pattern=".{10}" maxlength="10" required /> <input type="button" id="btn-1" value="Viber" onClick="javascript: window.open('viber://chat?number=%2B38' + document.getElementById('tel').value, '_self');" /> 这缺少<input type="text" id="fname">属性,因此在提交表单时将无法正确设置;它一定是这样的:
name

其次,如果要连接字符串,则不使用<input type="text" id="fname" name="fname">echo用于输出文本。要在PHP中将字符串附加在一起,您应该阅读string operators

上的手册页

第三,也是最重要的;

使用prepare输入您的数据。永远不要将$ _POST直接传递给您的查询。

echo