php - 绑定(bind)变量的数量与 token 的数量不匹配

标签 php mysql

我创建了一个 php 页面,它将记录保存到数据库中,这是我编写的代码:

try
    {
        $bdd = new PDO('mysql:host=localhost;dbname=tp_js_php','root','');
    }
    catch(PDOException $e)
    {
        die($e->getMessage());
    }

    //Selectionner la table de clients
          $reponse = $bdd->query('Select * from client');
          $clients = $reponse->fetchAll();

try
            {
            $req = $bdd->prepare('INSERT INTO client(nomClient,PrenomClient,Adresse,Télephone,Email,Pseudo,MotDePasse) VALUES (:nom, :prenom, :adresse, :tel, :email, :pseudo, :mdp)');
            $req->execute(array(
                    ':nom' => $_POST['nom'],
                    ':prenom', $_POST['prenom'],
                    ':adresse', $_POST['adresse'],
                    ':tel', $_POST['telephone'],
                    ':email', $_POST['email'],
                    ':pseudo', $_POST['pseudo'],
                    ':mdp', sha1($_POST['mdp'])));
        }
        catch(PDOException $e)
        {
            die($e->getMessage());
        }

这是我得到的错误:

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\xampp\htdocs\tp_fomulaire_js\insertion.php on line 21

第 21 行是:':mdp', sha1($_POST['mdp'])));

我计算了所有参数,除了增量的 idClient 之外,没有人搞乱。

最佳答案

使用此代码,您必须使用 => ,但您使用了 ,

$req->execute(array(
                ':nom' => $_POST['nom'],
                ':prenom' => $_POST['prenom'],
                ':adresse' => $_POST['adresse'],
                ':tel' => $_POST['telephone'],
                ':email' => $_POST['email'],
                ':pseudo' => $_POST['pseudo'],
                ':mdp' => sha1($_POST['mdp'])));

关于php - 绑定(bind)变量的数量与 token 的数量不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088235/

相关文章:

php - 从mysql中选择多行并发送到php中的jquery post函数

PHP - HTML - 预览功能

php - 将可选变量传递给 codeigniter 中的分页

mysql - 子查询不适合左连接替代方案?

mysqld.exe 停止工作

php - PHP 中可选包含

php - 如何在 PHP 5.3+ 的命名空间类中使用全局命名空间类型提示?

php - mysql和php更改特定id的单个数据

mysql - sequelize left join 也返回关联表的数据

php - 创建时间戳并通过mysql字段比较时间