2010-11-19 9 views
0

私はhtmlページでテーブル構造を表示するには、以下のコードを使用しよう:Firebird:htmlページのテーブル構造を表示するには?

<HTML> 
<HEAD> 
<TITLE>PHP + Firebird/Interbase test (connection)</TITLE> 
</HEAD> 
<BODY> 
<H3>FB Connect test.</H3> 
<?php 
// DB definition of account 
define("DBNAME","xx.xxx.xx.xxx:D:\DATABASE\OCS DATA.FDB"); // data bsse name 
define("DBUSER","USER"); // user name 
define("DBPASS","USER"); // password 

// DB connection 
$dbh = ibase_connect(DBNAME,DBUSER,DBPASS); 
echo ibase_errmsg(); 
if ($dbh == FALSE) { 
echo 'could not connect to DB<BR>'; 
} else { 
echo 'success to connect to DB<BR>'; 
} 
$ibsql = "SHOW TABLE DOC_TO"; 
echo ibase_errmsg(); 
$result=ibase_query($ibsql); 
echo $result; 
?> 

</BODY> 
</HTML> 

が、なぜそれだけで「DBへの接続に成功」として結果を示しますか?

答えて

3

に固有のSHOW TABLEまたはSHOW TABLESコマンドがFirebirdに存在しないようです。

IBPhoenix社のWebサイト上documentationSHOW TABLESコマンドがisqlコマンド・ライン・ツールと他のどこでのみ利用可能であると述べています。

MySQLでは、SHOW TABLESを実行できます。 は、Firebirdのisql コマンドラインツールで同じものを使用できますが、それ以外の場所は使用できません。それが進むとほぼ同等の解決策として、次のSQLコードを提供

SELECT RDB$RELATION_NAME FROM RDB$RELATIONS;

は、このクエリはあなたの両方のシステム とユーザーのテーブルを表示します。ユーザーテーブル のみを選択するには、

`SELECT RDB $ RELATION_NAME FROM RDB $ RELATIONS WHERE RDB $ SYSTEM_FLAG = 0;

おそらく、RDB$RELATIONSテーブル(またはFirebirdが提供する他のランタイム情報テーブル)をクエリすることで、達成しようとしていたものと同等のものを得ることができます。 Firebirdデータベースのextracting META informationのLorenzo Albertonの投稿も参照してください。

1

PHPでは、一重引用符を使用する必要があります。$reqest = 'select ...';を指定しないと、$シンボルはPHPの可変記号として翻訳されます。

関連する問題