如何在PDO中修复无效的参数编号

时间:2019-05-27 15:25:37

标签: php mysql pdo

使用PDO时得到了“无效的参数编号”

我尝试查看参数是否正常,并且可以

有我的代码:

        //==== Méthode permettant d'obtenir le mdp de l'utilisateur
        public function getPassword($nom){
            try {
                $sql = "SELECT
                            `password`
                        FROM
                            personne
                        WHERE
                            `nom_personne` = :nom OR `nom_personne` = lcase(:nom)";

                $req = $this->bd->prepare($sql);
                $req->bindValue(':nom',strtoupper($nom));
                $req->execute();
                $tab = $req->fetch(PDO::FETCH_NUM);
                if ($tab !== "")
                    return $tab;
                else
                    return false;

            } catch (PDOException $e){
                die('<p> Erreur : '. $e->getMessage().'</p>');
            }
        }

它应该返回用户的密码,但是返回错误。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

此解决方案更简单:

$sql = "SELECT
                            `password`
                        FROM
                            personne
                        WHERE
                            `nom_personne` = :nom";

$req = $this->bd->prepare($sql);
$req->execute(['nom' => $nom]);
return $req->fetchColumn();