PHPでプログラムを作っていて、PHP5.0では全く問題なく動作していたのですが、
新しいサーバに移植して、5.3.3になったら、以下のようなエラーがでます。
Illegal offset type in /~/common.php on line 111
unknown error Fatal error: Call to undefined method DB_Error::fetchRow() in /~/index.php on line 270
/~/はファイルまでの絶対パスです。
ぐぐっても適切な回答が出てきませんでした。
是非、ご教示をお願い致します。
Ethnaを使ったシステムで、エラーが起きている部分は、
$arr = $rs->fetchRow(DB_FETCHMODE_ASSOC);
の行です。
このスクリプトは、複数のファイルに沢山使われている為、
できれば、php.iniの設定や、htaccessの設定で回避したいと希望しております。
是非、ご教示頂ければと思います。
何卒、よろしくお願い申し上げます。
エラーが2つ表示されているように見えます。
> Illegal offset type in /~/common.php on line 111
こちらは、配列のキーがおかしい、というエラーです。
> unknown error Fatal error: Call to undefined method DB_Error::fetchRow() in /~/index.php on line 270
こちらは、そもそもDBに接続できていないので、fetchRow()が呼べない、と言うエラーです。
変数$rsに、DBオブジェクトではなく、DB_Errorオブジェクトが入ってるようです。
エラーの内容を取得する方法については、以下のURLを参考にしてみてください。
http://pear.php.net/manual/ja/package.database.db.db-error.php
Ethna2.5であれば、noticeやdeprecatedの警告はたくさん出ますが、PHP5.3以降でも問題なく動くと思います。
ありがとうございました。
2013/05/15 16:51:45事故解決出来ました。
最終的には、DBにアクセスする前の必要な情報が正常に入っていませんでした。
ありがとうございました。