を使用してMySQLデータベースに私は次のコードでXAMPPでMySQLデータベースにアクセスするためのPerlのCGIを使用しています: 接続PerlのCGIとXAMPP
#!/xampp/perl/bin/perl -w
use DBI;
print "Content-type:text/html\r\n\r\n";
$database = "mydb";
$host = "localhost";
$port = "3306";
$user = "root";
$pw = "";
$dsn = "dbi:mysql:$database:$host:$port";
print "Trying to connect <br />";
$connect = DBI->connect($dsn, $user, $pw, {RaiseError=>1});
if (defined $connect) {
print "Preparing query <br />";
}
$query = "SELECT * FROM reference WHERE ID = 1742031";
$query_handle = $connect->prepare($query);
$query_handle->execute();
$query_handle->bind_columns(undef, \$pmid, \$popu, \$loc);
while($query_handle->fetch()) {
print "$pmid, $popu, $loc <br />";
}
は、しかし、私は私のウェブページに結果をプリントアウトすることができません。私は "準備クエリ" 行が印刷されていないため、データベースに接続できないと思います。しかし、データベースに接続して、mysqlコマンドラインから このクエリを実行することができます。私はその問題が何であるか分かりません。
EDIT:欠落しているDBD:mysqlモジュールをインストールした後、「 ローカルホストのMySQLサーバーに接続できません(10061)」という新しいエラーが表示されます。私はここに示唆に従ってみました: MYSQL - Cant connect to MYSQL server on 'localhost' (10061) とすべてがうまくいくようです。私はmysqld.exeを実行しており、mysqlをサービスとして実行しています。 また、私はmysqlコマンドラインからphpMyAdmin、 のようにデータベースに接続できます。rootアカウントしかないので、特権の問題はありません。
お知らせください。私はどんな助けにも感謝します。
RaiseErrorをオンにして、DBIに何が間違っているかを確認します。 – pilcrow
文字通り$ pwを空白のままにしましたか、ここでそれを削除しましたか? – delicateLatticeworkFever
「@INCにDBD/mysql.pmが見つかりません」と表示されています。このモジュールをインストールするにはどうすればいいですか?私は自分のプログラムでも使っていませんでした! – user828647