Call to undefined method MDB2_Error::execute()
上記のエラーがでます。
色々試してみましたが、どうしても解決できそうもありません。
if(PEAR::isError($stmt)){
die($stmt->getMessage());
}
これで調べてみたところ、
MDB2 Error: syntax error
このように表示されました。
以下の記述でおかしいところがあれば、ご指摘頂ければと思います。
また、そういった問題でなくエラーなのであれば、どのような原因が考えられるか教えてください。
よろしくお願いします。
//DB接続
$db = MDB2::connect($GLOBALS['DNS']);
//プレースホルダで SQL 作成
$sql = "SELECT COUNT(*) AS CNT FROM AUTO_LOGIN WHERE TOKEN = ? AND REGISTRATED_TIME >= ?;";
//パラメーターの型を指定
$stmt = $db->prepare($sql, array("text", "timestamp"));
if(PEAR::isError($stmt)){
die($stmt->getMessage());
}
//2週間前の日付を取得
$date = new DateTime("- 14 days");
//パラメーターを渡して SQL 実行
$rs = $stmt->execute(array($token, $date->format("Y-m-d H:i:s")));
while ($row = $rs->fetchRow(MDB2_FETCHMODE_ASSOC)) {
$count = $row['cnt'];
}
$db->disconnect();