2

やあ、私は DBI モジュールを使って Perl でプログラムを書きました。CGI を使用して MySQL の出力を表示できますか? もしそうなら、私を助けてください。

プログラム:

#!/usr/bin/perl -w
use DBI;

print "Content-type:text/html\n\n";
$db_handle = DBI->connect("dbi:mysql:database=CYP1B1;host=localhost:192.168.3.93;")
    or die "Couldn't connect to database: $DBI::errstr\n";

$sql = "SELECT * FROM BPCG";
$statement = $db_handle->prepare($sql)
    or die "Couldn't prepare query '$sql': $DBI::errstr\n";

$statement->execute()
    or die "Couldn't execute query '$sql': $DBI::errstr\n";
print "Location\tNucleotidechange\tAminoacidchange\n";
while(($Location,$Nucleotidechange,$Aminoacidchange)=$statement->fetchrow_array())
{
    print "$Location  $Nucleotidechange               $Aminoacidchange \n";

}
$db_handle->disconnect();
4

6 に答える 6

4

あなたが持っているのは、十分に近いCGIスクリプトです。ただし、HTML は何も出力していませんが、その出力はスペースで区切られています。コンテンツ タイプを「text/plain」に変更します。

必要なのは、CGI スクリプトを実行するための Web サーバーです。lighttpd または apache について調べ、CGI スクリプトを実行するためにそれらをどのようにセットアップする必要があるかを調べてください (たとえば、 Apache の例)。申し訳ありませんが、それについてはあまり役に立ちません。ウェブサーバーのセットアップのトピックは非常に複雑ですが、いくつかの検索用語が正しい方向に進むことを願っています.

あるいは、これは Web 用に何かを書く現代的な方法ではないことに注意してください。(問題を非常に迅速に解決するのではなく) 何が可能かを探求している場合は、Catalyst (CPAN 上にあります) などのフレームワークを学ぶことをお勧めします。そこでは、より多くの先行作業がありますが、何をしようとしても、長期的にはより簡単に実行できるようになります。

于 2009-04-28T13:21:36.483 に答える
1

Ovid の CGI コースを読んでみてください。私が見た中で最も基本的な CGI プログラミングの説明があります。

于 2009-04-28T20:24:48.680 に答える
1

CGI プログラムに関して特に特別なことは何もありません。CGIヘッダーを出力する必要がありますが、あとは他のプログラムと同じように好きなものを出力できます。

正確に何をしようとしていて、どのような問題を抱えていますか? プログラムを実行したときに期待どおりに動作しないものは何ですか?

于 2009-04-28T18:24:44.617 に答える
1

CPANから開始します。

于 2009-04-28T09:59:25.797 に答える
0

Web ページで cgi を使用して Mysql データベース レコードを表示するのは難しいのではないかと思いました。私が行った方法へのリンクは次のとおりです (かなり基本的なものですが、実際にはそれほど難しくはありませんでした): Using Perl and Mysql to create a webpage

CGI、HTML::Template、および DBI モジュールを利用しました。モジュールを使用してゲストブック Web ページを作成する基本的なチュートリアルへのリンクは次のとおりです: モジュールを使用して Web ページを作成する

于 2009-11-29T17:12:26.020 に答える
0

必要なヘッダー (コンテンツ タイプ + 2 つの改行) を既に出力しているように見えるので、Web ブラウザー経由でこれを表示するために残っているのは、CGI スクリプトを実行できる Web サーバー上のディレクトリにプログラムを配置することだけです (通常は、ファイルが実行可能 (chmod 755 yourscript.cgi) であることを確認してから、Web ブラウザーで必要な URL (例: http://yourserver/cgi-bin/yourscript.cgi ) を指定します。

于 2009-04-29T00:01:33.933 に答える