当我尝试拨打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;
}