定义方法时调用未定义的方法

时间:2014-02-23 23:33:16

标签: php oop

当我尝试拨打statusPaid()时,我

  

致命错误:调用未定义的方法sw_transactions :: statusPaid()。

我在这里搜索了一些主题并看到如果你在IF语句中调用一个函数,它可能会导致一个问题。所以我在同一个类中尝试了另一个方法(将调用留在IF语句中)并且它读得很好。我刚刚添加了statusPaid()方法,突然遇到了这个问题。有什么想法吗?

这是执行方法的代码:

require_once('../php/sw.php');

$transactions = sw::shared()->transactions->getAll();

foreach ($transactions as $transaction) {

    if ($transaction['status'] == "deposited") {

        $transaction_idd = $transaction['id'];
        $status = "paid";

        sw::shared()->transactions->statusPaid(
            $transaction_idd,
            $status,
            $error
        );

    }

}

包含statusPaid()方法的类代码:

public function statusPaid(
    $transaction_idd,
    $status,
    &$error
) {

    $query = $this->pdo->prepare(
    'UPDATE `' . $this->table . '` SET 
        `status` = :status
    WHERE `id` = :transaction_idd LIMIT 1;');

    $query->bindParam(':transaction_idd', $transaction_idd, PDO::PARAM_INT);
    $query->bindParam(':status', $status);
    $query->execute();

    $error = null;
    return true;

}

0 个答案:

没有答案