【问题标题】:Database entry failed [duplicate]数据库输入失败[重复]
【发布时间】:2019-11-21 19:52:39
【问题描述】:

我在 AWS 免费套餐帐户中创建了一个 mysql 数据库实例。它在端口 3306 上侦听。 我有一个实例启动并运行 mysql Ver 14.14 Distrib 5.7.28,适用于 Linux (x86_64),使用 EditLine 包装器、PHP 5.4.16 (cli) 和版本:Apache/2.4.39 () Server。 我有一个注册页面和一个 action_page.php,用于从用户那里获取详细信息并将其存储在 DB 中。

配置文件:

<?php
$connection = mysql_connect('DB-endpoint:3306', 'admin', 'pass');
if (!$connection) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($connection);
?>

插入数据:

<?php
  include('config.php');            
    if (isset($_POST['submit'])) {
        $name = $_POST['uname'];
        $pass = $_POST['psw'];
        $bool = true;
        if ($bool) {
                     mysqli_query($connection, "insert into login_detail(name,pass) values ('$name','$pass')");

        Print '<script>alert("Successfully Added!");</script>';
        Print '<script>window.location.assign("");</script>';
                   }
      }

?>

输入注册详细信息后,数据未存储在我的数据库中

【问题讨论】:

标签: php mysql amazon-web-services amazon-ec2 amazon-rds


【解决方案1】:

因为您在没有插入的情况下关闭数据库。

从配置文件中删除这一行

mysql_close($connection);

并添加这个 mysql_close($connection);在这段代码之后

if (isset($_POST['submit'])) {
        $name = $_POST['uname'];
        $pass = $_POST['psw'];
        $bool = true;
        if ($bool) {
                     mysql_query("insert into login_detail(name,pass) values ('$name','$pass')");

        Print '<script>alert("Successfully Added!");</script>';
        Print '<script>window.location.assign("");</script>';
                   }
      }

你不能同时使用mysql和mysqli。它们是独立的 API,它们创建的资源相互不兼容。

【讨论】:

  • 这是不正确的。就像 OP 一样,您正在混合 MySQL API。
猜你喜欢
  • 2015-03-03
  • 2012-09-15
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多