号码绑定变量的不匹配的令牌
我创建了该怎么保存记录到数据库中一个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'])));
我已经做了你的更正,但我得到了这个新的错误:可捕捉的致命错误:类PDoCtatement的对象无法转换为C:\ xampp \ htdocs \ tp_fomulaire_js \第14行的插入.php – 2013-02-26 11:50:50
@SuSha什么是行号。 14?显示它的代码。 – 2013-02-26 11:51:52
这是一个语法错误我已经纠正它,但即使这些修改我无法找到数据库上的新记录 – 2013-02-26 11:54:24
您有7个占位符,但您传递13个参数。阅读Yogesh的答案,如果你不能找到原因:) – 2013-02-26 11:46:53