PHP PDO Insert给出解析错误:应为`T_STRING';或`T_VARIABLE';或`'


PHP PDO Insert gives Parse Error: expecting `T_STRING' or `T_VARIABLE' or `'{'' or `'$'', help?

我只是简单地使用PDO将一条记录插入数据库,但我得到了一个解析错误

应为T_STRING' or T_VARIABLE'或'{'' or'$''

我不明白。这是我的代码:

<?php
$host = "localhost";
$user = "refrigerator";
$pass = "xxxxx";
$dbname = "lifelapse";
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$data = array( 'username' => $username, 'password' => $password, 'email' => $email );
$STH = $DBH->("INSERT INTO users (username, password, email) values (:username, :password, :email)");
$STH->execute($data);
header("Location: confirmation.html");    
?>

错误在行

$STH = $DBH->("INSERT INTO users (username, password, email) values (:username, :password, :email)");

有人能解释一下吗?

提前感谢

您需要提供一个函数。

即:

$DBH->("INSERT

 $DBH->prepare("INSERT

我认为您没有在那一行调用方法。应该是:

 $STH = $DBH->prepare("INSERT INTO users (username, password, email) values (:username, :password, :email)");

您需要调用PDO::prepare——实际上并不是在调用函数。

$STH = $DBH->prepare("INSERT INTO users (username, password, email) values (:username, :password, :email)");