※ ChatGPTを利用し、要約された質問です(原文:MDB2のcreateTableでテーブル作成)
MDB2のcreateTableでテーブル作成できずにエラーが発生する
このQ&Aのポイント
MDB2のcreateTableを使用してテーブルを作成しようとしていますが、エラーが発生してテーブルが作成できません。
エラーメッセージには「MDB2 Error: insufficient permissions」と表示されており、権限の不足が原因と考えられます。
既存のテーブルを正しく取得できることから、$mdb2->loadModule('Manager');は正常に動作していると思われますが、createTableに問題がある可能性があります。お手伝いいただけると助かります。
宜しくお願いします。
php5
MySQL
PEAR
Win7 XAMPP
にて開発中です。
表題にもありますように、
$mdb2->loadModule('Manager');
※$mdb2には前処理としてDBへの接続も完了しています。
を唱えて、
下記のテストテーブルをDBに作成しようとしています。
$definition = array (
'id' => array (
'type' => 'integer',
'unsigned' => 1,
'notnull' => 1,
'default' => 0,
),
'name' => array (
'type' => 'text',
'length' => 255
),
'datetime' => array (
'type' => 'timestamp'
)
);
$res=$mdb2->createTable("events",$definition);
しかし、エラーでテーブルが作成できません。
色々調べて、色んなパターンを検証してみましたが、どうもお手上げです。
エラーは、下記のようなものです。。
※print_r($res);で吐いたものです。
MDB2_Error Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => -27 [message] => MDB2 Error: insufficient permissions [userinfo] => _doQuery: [Error message: Could not execute statement] [Last executed query: CREATE TABL・・・・・・・・・・・・・・・・・・・・・・
このあと永遠と長文が続きます。
ちなみに、
$request=$mdb2->listTables();
これだと、DB内に今あるテーブルがきちっと配列で返してくれます。
したがって、
$mdb2->loadModule('Manager');
は、ただしく読み込まれていると思われます。
だめなのは、テーブル作成の$mdb2->createTableに原因が絞られるようなきもしますが、
これ以上、自力ではなんともできず、お力をお借りしたいと思い書き込みました。
不足情報がれば補足しますのでよろしくお願いします。
お礼
うわ! できました。 権限の問題でした。 エラー対処する経験不足でした。 ほんとうに疲れた・・・。色々考えたあげくの原因がこれだとわ・・・(笑)