• 締切済み

ODBCでMySQLのテーブル列挙

mdbファイルの中にテーブルがいくつかあります。 僕が知っているテーブル名(syain)はselectで中身を見ることができますが、テーブル名の列挙はできませんか? $sql = 'select * from syain'; //$sql = 'SHOW TABLES'; odbc_exec($conn, $sql);

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

普通に SHOW TABLES; とかじゃないですか?

関連するQ&A

  • ODBC接続時、SQL文で日本語テーブル名などは使えますか

    PHPでODBCを使ってMDBに接続するところまではできたのですが SQL実行時にエラーが出ます。 SELECT * FROM 在庫 WHERE コード=0001 と言ったSQL文です。 SQLの文章的には問題ないと思うのですが 基本的なことかも知れませんが、MDBファイルのテーブル名や フィールド名(列名)を日本語にしています。 これはダメなのでしょうか? 回避策か設定法などよく分かりません。 どなたか教えて頂けると幸いです よろしくお願いします。

    • ベストアンサー
    • PHP
  • ODBCを使用したSQLの使い方を教えてほしいです

    タイトルの内容を調べているのですが、上手くヒットせず、 同じように記述してもエラーになってしまいます。 よくわかりませんので、教えてほしいです。 odbc_connectは通っているようなので、接続はできている と思います。 $rs=odbc_exec($conn,$sql);にてエラーになるようです。 Warning: odbc_exec():が出ます。 よろしくお願いします。 print ("<html>"); print ("<body>"); $conn=odbc_connect('m_db','',''); if (!$conn) { exit("Connection Failed: " . $conn); } $sql = "SELECT * FROM test_table"; $rs=odbc_exec($conn,$sql); if (!$rs) { exit("Error in SQL"); } echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; print ("</body>"); print ("</html>");

    • ベストアンサー
    • PHP
  • LIKEとINを同時に使いたい

    AccessをMDBで使っています。 ユーザ名が、「岡」「吉」「岡田~」「吉田~」であるレコードを検索します。 odbc_exec($conn, 'select * from syain where un IN(\'岡\',\'吉\') or un LIKE \'岡田%\' or un LIKE \'吉田%\''); これを改造してユーザ名が、 「岡」「吉」「西」「岡田~」「吉田~」「西田~」 であるレコードを検索する場合、LIKE自体を書く数を増やさなくてはいけません。 /^[岡|吉|西](田.*)?$/ このようなイメージのSQLにできませんか?

  • 異なるmdbファイルにテーブルをSQLでコピー

    SELECT * into table1 from tabel2 のようにして、同じmdbの中でテーブルをコピーすることはできますが、 異なるmdbファイルにテーブルをSQLを使ってコピーすることはできるものですか。 #できないという回答もお待ちします。 #access2000

  • postgreSQLでDB名やテーブル名・フィールドを表示させるSQLコマンド

    MySQLでは show databases; show tables; show fields from テーブル名; でSQLコマンドとしても実行できますが、PostgreSQLで 同じことのできるSQLコマンドはあるのでしょうか?

  • 見えないテーブル(phpMyAdmin)

    phpMyAdminにてテーブルが見えません。 SQLファイルをインポートしたのですが、テーブルが見えません。 コマンドライン上から show tables とやると見えます。 なぜでしょうか?? お詳しい方、ご教授願えませんか?

  • 作成したテーブルが存在していないように扱われる

    create table 発明者 (id int); とし, show tables; としても,テーブルはないと言われますが(ほかにテーブルがないので) select count(*) from 発明者; などとすると count (*) 0 と返ってきます. この例は現象確認のための作りましたが, テーブル名は同じです. mysqlのバージョンは5.0.41です. お心当たりのある方,アドバイス賜れば幸いです. よろしくお願いいたします.

    • ベストアンサー
    • MySQL
  • PHP+MySQL on さくらサーバー

    さくらサーバーで、プレミアムプランで契約しています。 PHP4.3.10、MySQL 4.0.26で、以下のPHPファイルを埋め込んだphpファイルを実行すると、エラーが生じます。なんか、初歩的なことを勘違いしているのではないかと言う気がするのですが、何が問題なのでしょうか。 データベースのユーザー名は、xxx パスワードは、yyy データベース名は、xxx(一つのみ割り当て) Userというテーブルがあります。 <?php $conn = mysql_connect("mysql11.db.sakura.ne.jp","xxx","yyy"); mysql_select_db("xxx", $conn); $sql = 'SELECT * from User'; mysql_query($sql, $conn)); ?>

    • ベストアンサー
    • MySQL
  • MySQL テーブルの存在チェックでエラー

    宜しくお願いします。 環境 php5 MySQL5.6 PEAR (mdb2) Smarty レンタルサーバー(ロリポップ:チカッパ)でテスト確認 ---------------- データーベースにテーブルが存在するかどうかのチェックについてお聞きします。 下記コードをご確認の上よろしくお願いします。 テーブルが存在しない時は、エラーオブジェクトがかえるのでしょうか? それとも0(ゼロ)などの数値がかえるのでしょうか? また、テーブルが存在しないかどうかのチェックは下記のようにすれば大丈夫でしょうか? ------------------------------------.. //$mdb2にはDBへの接続情報はきちっと格納されています。 $sql = "SHOW TABLES FROM dbname LIKE 'tablename'"; $request = $mdb2->query($sql); //★ if($request->fetchRow()){    //※テーブルが見つかった場合の処理 }else{ //※テーブルが見つからない場合の処理 } ------------------------------------ 上記を実行すると、 テーブルが存在しない際は、エラーとなります。 ※ Call to undefined method MDB2_Error::fetchRow() テーブルが存在してるときは、エラーとなりません。 そもそも、テーブルの存在確認で、テーブルが存在しない際は、 エラーオブジェクトがかえるようになっているのでしょうか? それともエラーとはならず、0など値が返るもんでしょうか? ★の位置でチェックすると、エラーオブジェクトが返ってきています。 if (PEAR::isError($request)){ echo $sth->getDebugInfo(); exit(); } その為、★より以下を実行されていなく、 ※ Call to undefined method MDB2_Error::fetchRow() のエラーがでて引っかかってると思います。 実現したいこととしては、 DBにテーブルが無いときは、新規にテーブルを作成する。 というものです。 もし、 if($request->fetchRow()){ ・・・・ }else ・・・・ } に問題があれば修正したいので、最良の書き方を教えていただくとありがたいです。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 他のMDBのテーブルに追加したい

    Access2010のADOについてご質問します。 以下のようにして、データを追加しています。 Dim SQL As String Dim cn As ADODB.Connection Set cn = CurrentProject.Connection ' SQL = "INSERT INTO テーブルA ( 勤務時間 ) " SQL = SQL & "SELECT [テーブルA ].[勤務時間] " SQL = SQL & "FROM テーブルA ; " cn.Execute SQL ご質問したいのは、 当MDB(PC)から社内サーバーにあるMDBのテーブルに追加したいのです。 違うテーブル名でしたら、リンクをすれば済む話とは思いますが 同じテーブル名の「テーブルA」なので どのようにすればいいのか困っています。 ご指導の程をよろしくお願いします。

専門家に質問してみよう