"未定义的方法PDO :: execute()"尽管使用准备

时间:2015-06-15 00:15:22

标签: php oop pdo undefined

此代码以前一直在使用,但我最近添加了一个数据库类。我从中得到实例和连接:

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

getInstance()返回数据库实例。 getConnection()返回包含以下内容的连接属性:

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

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

1 个答案:

答案 0 :(得分:2)

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

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