PHP5.3.3にしたら急にエラー


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の設定で回避したいと希望しております。

是非、ご教示頂ければと思います。


何卒、よろしくお願い申し上げます。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/15 16:52:36
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:gyoh_k No.1

回答回数12ベストアンサー獲得回数6

ポイント100pt

エラーが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以降でも問題なく動くと思います。

id:KENJI0620

ありがとうございました。

事故解決出来ました。

最終的には、DBにアクセスする前の必要な情報が正常に入っていませんでした。

ありがとうございました。

2013/05/15 16:51:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません