我試圖從我的形式(createBuilder)將數據插入到我的數據庫,使用PDO和一個自定義的準備請求:PDO準備插入值
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... ^
這是因爲兩個'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 ERREUR:erreur de syntaxe sur ouprèsde«用戶»「 – Macbernie