【发布时间】:2016-11-29 08:51:19
【问题描述】:
我尝试使用 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]: 语法错误: 7 ERREUR: erreur de syntaxe sur ou près de « user » LINE 1: INSERT INTO user (email, password, firstname, lastname, sal... ^
这是因为最后两个“NULL”值吗?我不这么认为,因为如果我在数组中再添加 2 个变量,我仍然会收到错误...
感谢您的帮助
【问题讨论】:
-
占位符是没有
'的值。请参阅 PDO 手册。你看到'中包含任何占位符吗? -
但是没有 ' 像 VALUES (:email, :password, :firstname, :lastname, :salt, :role, NULL, NULL),我得到一个“SQLSTATE[42601]:语法错误: 7 ERREUR: erreur de syntaxe sur ou près de « user »"
-
这是什么意思?用错误和代码更新问题。
-
这类问题不应该有标准答案吗?