首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL插入值列表与列列表错误不匹配。

SQL插入值列表与列列表错误不匹配。
EN

Stack Overflow用户
提问于 2022-04-15 16:27:44
回答 1查看 44关注 0票数 -1

我有错误:插入值列表不匹配列列表: 1136列计数与第1行的值计数不匹配

这是我的插入功能

在phpmyadmin中插入:

代码语言:javascript
复制
INSERT INTO `najomnik`
            (`id_najomnik`, `meno`, `priezvisko`, 
            `rodne_cislo`, `telefon`, `mail`) 
    VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6])

id_najomnik是int

代码语言:javascript
复制
public function insert($meno, $priezvisko, $rodne_cislo, $telefon, $mail) 
{
    try{
        $sql = "INSERT INTO `najomnik` 
                            (meno,priezvisko,rodne_cislo,telefon,mail) 
                    VALUES ('meno, priezvisko,r odne_cislo, telefon, mail')";
        $stmt = $this->db->prepare($sql);
        $stmt->execute();
        return true;
    } catch(PDOException $e) {
        echo $e->getMessage();
        return false;
    }
}

这是我要插入值的表单。

代码语言:javascript
复制
<?php
require_once 'nav.php';
require_once 'conn.php';

?>

<form method="post" action="success.php" enctype="multipart/form-data">
        <div class="form-group">
            <label for="firstname">First Name</label>
            <input required type="text" class="form-control" id="meno" name="meno">
        </div>
        <div class="form-group">
            <label for="lastname">Last Name</label>
            <input required type="text" class="form-control" id="priezvisko" name="priezvisko">
        </div>
        <div class="form-group">
            <label for="dob">Date Of Birth</label>
            <input type="text" class="form-control" id="rodne_cislo" name="rodne_cislo">
        </div>
        <div class="form-group">
            <label for="email">Email address</label>
            <input required type="email" class="form-control" id="mail"  name="mail" aria-describedby="emailHelp" >
            <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
        </div>
        <div class="form-groupform-group">
            <label for="phone">Contact Number</label>
            <input type="text" class="form-control" id="telefon" name="telefon" aria-describedby="phoneHelp" >
            <small id="phoneHelp" class="form-text text-muted">We'll never share your number with anyone else.</small>
        </div>
        <br/>
        
        
        <button type="submit" name="submit" class="btn btn-primary btn-block">Submit</button>
    </form>

我试着改变它

代码语言:javascript
复制
       public function insert($meno, $priezvisko, $rodne_cislo, $telefon, $mail) {
            try{
                $sql = "INSERT INTO `najomnik` (meno,priezvisko,rodne_cislo,telefon,mail) VALUES (':meno, :priezvisko, :rodne_cislo, :telefon, :mail')";
                $stmt = $this->db->prepare($sql);

                $stmt->bindparam(':meno', $meno);
                $stmt->bindparam(':priezvisko', $priezvisko);
                $stmt->bindparam(':rodne_cislo', $rodne_cislo);
                $stmt->bindparam(':telefon', $telefon);
                $stmt->bindparam(':mail', $mail);

                $stmt->execute();
                return true;
            } catch(PDOException $e) {
                echo $e->getMessage();
                return false;
        }
    }

但是在这种情况下,我得到的是错误:无效的参数号:绑定变量的数量不匹配令牌的数目。

EN

回答 1

Stack Overflow用户

发布于 2022-04-15 16:33:32

您不应该在值列表中引用。

每个值都需要是占位符,然后在调用$stmt->execute()时使用值提供占位符。

代码语言:javascript
复制
public function insert($meno, $priezvisko, $rodne_cislo, $telefon, $mail) {
    try{
        $sql = "INSERT INTO `najomnik` (meno,priezvisko,rodne_cislo,telefon,mail) VALUES (:meno, :priezvisko, :rodne_cislo, :telefon, :mail)";
        $stmt = $this->db->prepare($sql);
        $stmt->execute([
            ':meno' => $meno,
            ':priezvisko' => $priezvisko,
            ':rodne_islo' => $rodne_islo,
            ':telefon' => $telefon,
            ':mail' => $mail
        ]);
        return true;
    } catch(PDOException $e) {
        echo $e->getMessage();
        return false;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71886522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档