"Undefined method PDO::execute()" 尽管使用了 prepare

"Undefined method PDO::execute()" despite using prepare

这段代码之前一直有效,但我最近添加了一个数据库class。我从中获取实例和连接:

           $connection = MYSQLDatabase::getInstance()->getConnection();
            $connection->prepare("INSERT INTO users etc etc.......
            $insertArray = $connection->execute(array(
                ":username" => $_POST["username"]
            ));

getInstance() returns 数据库实例。 getConnection() returns 连接 属性 包含:

new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);

所以在执行 $connection->execute 时发生错误,尽管 $connection 包含数据库对象、连接和准备好的语句。 怎么会这样?

创建一个变量来存储准备好的语句,然后执行它。

$connection = MYSQLDatabase::getInstance()->getConnection();
$statement = $connection->prepare("INSERT INTO users etc etc.......");
$insertArray = $statement->execute(array(
    ":username" => $_POST["username"]
));