为什么我的查询不执行?

Bas*_*ter 0 php mysql sql pdo

我有一个查询得到这些变量(但从POST表单):

$username = "John";
$email = "johnsmith@mail.com";
$passwordEnc = "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684";
$activated = 0;
$activationKey = "5753a498f025464d72e088a9d5d6e872592d5f91";
Run Code Online (Sandbox Code Playgroud)

查询如下:

$stmt = $dbu->prepare("INSERT INTO users (username, email, password, activated, key) VALUES (?, ?, ?, ?, ?)");
$stmt->execute(array($username, $email, $passwordEnc, $activated, $activationKey));
Run Code Online (Sandbox Code Playgroud)

没有错误,但该条目未添加到名为"users"的表中.

jue*_*n d 6

你需要逃避的保留字在MySQL一样password,并key与反引号

INSERT INTO users (username, email, `password`, activated, `key`) VALUES ...
Run Code Online (Sandbox Code Playgroud)