• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlでdb(mysql)に接続)

perlでdb(mysql)に接続し、データを表示する方法

このQ&Aのポイント
  • perlでdb(mysql)に接続し、取得したデータを表示させる方法について紹介します。
  • 問題が発生している場合の対処方法も解説します。
  • ファイルのパーミッションとSQL文の記述にも注意してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

ひとさまのサーバ設定状況がどうなってるかは実際にさわっていないので想像するしかないんですが まずは、コマンドライン(mysqlクライアント)でつながってテーブルまで見えるかどうかでしょうか? Webでどうこうより、機能を切り分けて、DB側からアプローチして見ることです このソースをざっと見る限りじゃ問題はなさそうに見えるので、権限だったり、ポートだったり、DB側の設定ミスだったりとかの環境問題でしょうか

Reptilez
質問者

お礼

返答が遅くなりまして申し訳ありません。 ポートを指定することで接続可能となりました。 ありがとうございました。

その他の回答 (1)

  • gellan
  • ベストアンサー率50% (1/2)
回答No.2

そこに書かれている記述内容が、実際に設置されたtest.cgiからの完全なコピペであるなら(タイプミスがないなら)、1ヶ所気になる部分があります。 ------------------------------------------- my $dbh = DBI->connect("DBI:mysql:database, "userid", "password"); ------------------------------------------- databaseのうしろに「閉じのダブルクォート」が抜けてます。 ただ、私もそのダブルクォートを抜いて試してみましたが、肝心の、 -------------------------------------------- DBD::mysql::st execute failed: Table 'database.tablename' doesn't exist at test.cgi line 8. -------------------------------------------- などというエラー行は見当たりませんでした。 その代わりに、ログには大量のエラー行が発生し、ブラウザには「Internal Server Error」が表示されるなど、エラーの出方は全然違いますが、もしそのダブルクォートが抜けているなら、明らかにエラーの一因にはなってますね。

Reptilez
質問者

お礼

返答が遅くなりまして申し訳ありません。 ポートを指定することで接続可能となりました。 ありがとうございました。