2

レコードをデータベースに保存する 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 を除いて、誰もいじっていないすべてのパラメーターを数えます。

4

1 に答える 1

3

このコードを使用するには、 を使用する必要がありますが=>、 を使用し,ました。

$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'])));
于 2013-02-26T11:43:59.070 に答える