値準備:PDOは、インサートが、私はPDOを使用して、私のデータベースに私のフォーム(createBuilder)からデータを挿入しようとすると、カスタム要求を準備
public function createUser($data)
{
$connect = $this->connectBDD();
$rq = " INSERT INTO user (email, password, firstname, lastname, salt, role, addf, addl)
VALUES (:email, :password, :firstname, :lastname, :salt, :role, NULL, NULL)";
$t = $connect->prepare($rq);
$t->execute([
':email' => $data["email"],
':password' => $data["plainPassword"],
':firstname' => $data["firstname"],
':lastname' => $data["lastname"],
':salt' => $data["salt"],
':role' => 'ROLE_USER'
]);
return true;
}
しかし、私は次のエラーを取得:
をSQLSTATE[42601]: Syntax error: 7 ERREUR: erreur de syntaxe sur ou près de « user » LINE 1: INSERT INTO user (email, password, firstname, lastname, sal... ^
これは2つの 'NULL'の最後の値のためですか?私は私の配列に2つの以上の変数を追加した場合、私はまだエラーを取得するので、私は
プレースホルダは '' 'がない値です。 PDOのマニュアルを参照してください。 '' 'で囲まれたプレースホルダはありますか? –
昨日同様の回答がありました。http://stackoverflow.com/questions/38548317/php-bound-parameters-database-call-wrong-number-of-parameters-if-i-use-a-colon/3 – chris85
'VALUES(:email、:password、:firstname、:lastname、:salt、:role、NULL、NULL)と同様に、「SQLSTATE [42601]:構文エラー:7エラー:構文エラーが発生しました。ユーザー» " – Macbernie