php - HTML 表单不使用 PHP 将数据发送到 MySQL

标签 php html mysql mysqli

我有一个 HTML 表单,但我猜它的设置不正常。我将从 HTML (PHP) 文件和 php 中发布代码以将其发送到数据库。

<form action="upload.php" method="POST">
    <!-- Name input-->
    <div class="form-group">
      <label class="control-label" for="name">Name</label>
      <div class="">
        <input id="name" name="name" placeholder="First and Last Name" class="form-control input-md" type="text" required>
      </div>
    </div>
    <div class="form-group">
        <label class=" control-label" for="supportingDoc">Upload Supporting Documentation</label>
        <div class="">
            <input id="supportingDoc" name="supportingDoc" class="input-file" type="file" style="margin-top: .5em; margin-left: 4em;">
        </div>
    </div>
    <hr>
      <!-- Submit -->
      <div class="form-group">
        <label class="control-label" for="submit"></label>
        <div class="">
          <button value="Submit" type="submit" id="submit" name="submit" class="btn btn-danger" style="border-radius: 25px;">Submit</button>
        </div>
      </div>
</form>

这是我的 SQL/PHP

<?php
    $servername = "localhost";
    $username = "xxx";
    $password = "xxx";
    $dbname = "xxx";
    // Create connection
    $con = mysqli_connect("localhost","xxx","xxx","xxx");
    // Check connection
    if (mysqli_connect_errno()){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    if (isset($_REQUEST['name'])){
        // set variables

        $name = mysql_real_escape_string($_POST['name']);
        $supportingDoc = mysql_real_escape_string($_POST['supportingDoc']);

        $sql = "INSERT INTO `tablew` (name,  supportingDoc) VALUES ('$name', '$supportingDoc')";
        $result = mysqli_query($con,$sql);

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

        $con->close();
    }
?>

我尝试了各种变体,但 phpmyadmin 中没有任何显示。我什至从我之前创建的网站进行了复制,但它仍然无法正常工作,哈哈。

我看到登录信息有变量,但仍将其放在 mysqli 中,但我已经处理这件事大约 8 个小时了,现在没电了,所以希望有人能看到我搞砸了什么.

在此先感谢大家的帮助。

============================================= ============================ 更新: 我做了上面提到的所有更改,现在得到这个:

警告:mysqli_connect():(HY000/1049):未知数据库

我可以在 phpmyadmin 和 Sequel Pro 中看到数据库。我还确保设置密码并登录到“root”。我的登录代码如下:

    $con = mysqli_connect("localhost","root","root","epboarding");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

这是我的帖子:

if (isset($_REQUEST['submit'])){
// set variables
$name = mysqli_real_escape_string($con, $_POST['name']);
$sql = "INSERT INTO `wos` (name) VALUES ('$name')";
$result = mysqli_query($con,$sql);

phpmyadmin

mysql error

最佳答案

可能存在以下问题:

  1. 上传错误。在表单标签中使用 enctype="multipart/form-data"。
  2. 更正 Mysql_connect 详细信息,即用户名、密码、数据库名。
  3. mysql_real_escape_string 已被删除。使用 mysqli。
  4. 重新检查您的列名称,即名称、supportingDoc。

关于php - HTML 表单不使用 PHP 将数据发送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48030941/

相关文章:

php - MySQL 有条件地从两个表中选择

PHP 删除功能不起作用

PHP 5.4 和 Facebook Hiphop 兼容性

javascript - 视频阵列不工作

html - SandcaSTLe ->输出到HTML->导入到MOSS实用程序

increment - PHP Undefined Index/Undefined Offset 解决方法

javascript - 在 vue.js 中计算小计

MySQL返回左连接表没有记录的记录

php - 无法覆盖 laravel 5.4 登录身份验证中的默认字段名称

mysql - 如何从MySQL数据库中选择特定记录