将文本从网站发布到数据库时发生未知错误

时间:2019-03-02 02:48:27

标签: php html css database mysqli

我的目标是在我的网站上设置电子邮件订阅,用户可以在其中输入他们的电子邮件,然后将其发送到我的数据库中。截至目前,当我输入它时,它会将我带到白页并仅显示“错误:”。我的数据库是否正确链接?我可以正确发送此信息吗?

表格:

<form action="insert.php" method="post">
  <div class="form-row">
    <div class="col-12 col-md-9 mb-2 mb-md-0">
      <input type="text" class="form-control form-control-lg" placeholder="Enter your email to subscribe..." name="email">
    </div>
  <div class="col-12 col-md-3">
    <button type="submit" class="btn btn-block btn-lg btn-primary">Sign up!</button>
    </div>
  </div>

Insert.php:

<?php
$con = mysqli_connect("123.45.678.901","user","password","databasename");
  if (!$con){
     die('Could not connect: ' . mysqli_error());
  }
  mysqli_select_db("database_name", $con);

  $sql="INSERT INTO Email_Subs
  VALUES
  ('$_POST[email]')";

  if (!mysqli_query($sql,$con)){
    die('Error: ' . mysqli_error());
  }
  echo '1 record added';

  mysqli_close($con)
  ?>

数据库中我的表的屏幕截图

Screenshot of my Table in the Database

2 个答案:

答案 0 :(得分:0)

Email_Subs表中有多少个字段?

如果答案不只一个,那么查询将永远无法进行。

INSERT查询具有多种形态。仅当您以表定义中出现的顺序传递所有字段的值时,才可以省略字段名称。

如果您的桌子看起来像这样...

+------+---------+
| id   | email   |
+------+---------+

然后插入查询将是以下之一:

  1. 将INERT插入Email_Subs(email)值($ someSanatizedData)
  2. 将INERT插入Email_Subs(id,email)值($ someUniqueId,$ someSanatizedData)
  3. 将INERT插入Email_Subs(电子邮件,id)值($ someSanatizedData,$ someUniqueId)
  4. 将INERT插入Email_Subs值($ someUniqueId,$ someSanatizedData)
  5. ...还有更多

答案 1 :(得分:-1)

mysqli_connect(“ 123.45.678.901”,“用户”,“密码”,“数据库名称”)。

在上面的行中,您必须指定实际的数据库名称,Mysql的用户名及其相关密码。您已将值保持静态,这将给您带来错误。

谢谢