FAQ

FAQ – よくある質問

エラーになります!

PEAR_Error (あるいは MDB2_Error オブジェクト) を受け取った場合は、まず getMessage()getUserInfo() を試してみましょう。これらを使用すると、 エラーの原因についてのより詳細な情報が得られます。

"MDB2 Error: not found"

MDB2 のインスタンスを作成した後にこのエラーが発生した場合は、 MDB2 のデータベースドライバが何もインストールされていないことを意味します。 たいていの人は一種類のデータベースしか使用しないでしょうから、 15 のドライバファイルをすべてインストールする必要はありません。

たとえば SQLite を使用したい場合は、 pear install MDB2_Driver_sqlite あるいは単純に pear install MDB2#sqlite とすれば動くようになります。

PEAR のパッケージ一覧で MDB2 のドライバを検索 してみましょう。

"pear/MDB2_Driver_XXX requires php extension XXX"

ドライバをインストールする際にこのエラーが発生した場合は、 そのインストーラが読み込んだ php.ini で "XXX" 拡張モジュールが見つからなかったことを表します。 単に拡張モジュールのインストールを忘れているだけなのか、 あるいは関連する php.ini でその拡張モジュールを有効にし忘れているかのどちらかでしょう。 通常は、CLI 用とその他の SAPI 用とでは別の php.ini を使用することに注意しましょう。

そのいずれでもない場合は、 pear install -nodeps MDB2_Driver_XXX とすればうまく動きます。

複数のインスタンスを作成して異なるデータベースを使用することができない

複数のデータベースを同時に使用しようとすると、 二番目のデータベースに接続した瞬間に最初のデータベースとの接続が失われることに気づかれるでしょう。 これは、DBMS が直近にオープンされた接続を再利用しようとするからです。この問題を解決するには、 DSN の new_link オプションTRUE にします。

シーケンスおよび自動採番 (Previous) MDB_QueryTool (Next)
Last updated: Mon, 28 Jul 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

Note by: pear.mdb2@axice.be
The 'not found' error can be caused by a typo in table definition when creating a table :

$definition = array
(
'id' => array
(
'type' => 'texte', // instead of 'text'
'length' => 12,
'notnull' => 1,
),
);


Note by: gchamoret@wanadoo.fr
The solution is :

>pear install --nodeps MDB2_Driver_mysqli

Gerard
Note by: gchamoret@wanadoo.fr
Hello,

"pear/MDB2_Driver_XXX requires php extension XXX"
If you get this error when trying to install a driver it means that the php.ini loaded in the given installer does not see the "XXX" extension. Either you forgot to install the extension all together or you need to make sure that the extension is actived in all relevant php.ini files. Note that there are usually separate php.ini files for the CLI and your other SAPIs.

If all else failes do pear install -nodeps MDB2_Driver_XXX and it should work.

On windows localhost easyphp2, it should but it does not

D:\Program Files\EasyPHP2-01\www>pear install MDB2#mysqli
Skipping package "pear/MDB2", already installed as version 2.4.1
pear/MDB2_Driver_mysqli requires PHP extension "mysqli"
No valid packages found
install failed

I hope one day I could contribute more than that...

Best regards

Gerard