激凹みから立ち直る方法

MDB2 [Call to undefined method MDB2_Error::execute()]

以下のようなMDB2を利用したSELECT文を書きましたが、
最終行で、
Call to undefined method MDB2_Error::execute()
が出ます。

どのように修正すれば良いでしょうか?

=====================================================================================
require_once('/usr/share/pear/PEAR/MDB2.php');

$db=MDB2::connect('mysqli://【user】:【password】@localhost/【dbname】?charset=utf8');
if(PEAR::isError($db)){
die($db->getMessage());
}

$sql = 'select * from user where name=? and password=?';
$types = array('text','text');

$stmt=$db->prepare($sql, $type, TRUE);

$data = array('guest' , 'guest');

$res = $stmt->execute($data);

=====================================================================================
下から3行目の$stmtがMDB2_Errorオブジェクトなのまでは分かるのですが、
どう対処すればよいかが不明です。
宜しくお願いします。

A 回答 (2件)

とりあえず、上のPEAR::isError()メソッドで、MDB2_Errorのオブジェクトがどんなメッセージを履いているかを確認してみるのが速そうですね。



if(PEAR::isError($stmt)){
die($stmt->getMessage());
}

とりあえずそこのメッセージが最大のヒントになるのではないかと思います。
    • good
    • 0
この回答へのお礼

hogehoge78さん、回答ありがとうございました。

時間が経ってしまい申し訳ありませんでした。
結局問題はSELinuxだったようで、SELinuxを解除することで解決しました。

どうも有難うございました。

お礼日時:2010/07/09 19:39

$typesを$typeと入力ミスしてるとか、そういうことではないですか。

    • good
    • 0
この回答へのお礼

hogehoge78さん、解答有難うございます。

確かにミスってますね(^^;
直してみましたがやはり$stmtでMDB2_Errorが返ってきます。

お礼日時:2010/07/01 19:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!