【问题标题】:My Function can't insert data to database [duplicate]我的函数无法将数据插入数据库[重复]
【发布时间】:2019-11-29 20:08:15
【问题描述】:

这是我在 config.php 中的数据库类中的函数:

        public function insertData($name, $address, $salary)
            {
                $sql = "INSERT INTO `employees` (`id`, `name`, `address`, 
                salary`) VALUES (:name, :address, :salary)";
                $stmt = $this->con->prepare($sql);
                $stmt->bindParam(':name', $name, PDO::PARAM_STR);
                $stmt->bindParam(':address', $address, PDO::PARAM_STR);
                $stmt->bindParam(':salary', $salary, PDO::PARAM_INT);
                $stmt->execute();
            }

这是 index.php:

<?php

    include 'config.php';

    if(isset($_POST['submit'])){
            $name = $_POST['name'];
            $adr =  $_POST['address'];
            $sal = $_POST['salary'];
            $database->insertData($name,$adr, $sal);
    }
?>

这是我的表格:

        <form method="post" action="">
            <div class="input-group">
                <input type="text" name="name" placeholder="Name">
            </div>
            <div class="input-group">
                <input type="text" name="address" placeholder="Address">
            </div>
            <div class="input-group">
                <input type="number" name="salary" placeholder="Salary">
            </div>
            <div class="input-group">
                <button type="submit" name="save" class="btn">Save</button>
            </div>

        </form>

【问题讨论】:

  • 您尝试插入到id 列,但您没有给它一个值。假设 id 是自动递增的,只需将其从列列表中删除即可。

标签: php mysql forms oop pdo


【解决方案1】:

将提交按钮名称从 "save" 更改为 "submit"(以匹配您在 $_POST 中检查的内容):

<button type="submit" name="submit" class="btn">Save</button>

或改变

if(isset($_POST['submit'])){

if(isset($_POST['save'])){

【讨论】:

    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2012-08-05
    • 2023-04-04
    相关资源
    最近更新 更多