#!/usr/bin/env python
import MySQLdb
print "Content-Type: text/html"
print
print "<html><head><title>Books</title></head>"
print "<body>" print "<h1>Books</h1>"
print "<ul>"
connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db') cursor = connection.cursor() cursor.execute(“SELECT name FROM books ORDER BY pub_date DESC LIMIT 10”)
for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
print "</body></html>"
connection.close()
これを test.cgi として Web サーバーに保存しました。www.mysite.com/test.cgi で実行できませんでした
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
どうすれば問題を解決できますか?
[編集]最初の回答の後
- test.cgi は実行可能です ($ chmod +x test.cgi を実行します)
- 私はアパッチを使用しています。
- これは .bashrc export PATH=${PATH}:~/bin にあります
- Python モジュール MySQLdb がインストールされています。
- コードにはスマート クォートがありません。
[編集] 2番目の回答の後
PythonがMySQLデータベースと通信するために必要なMySQLdbモジュールをインストールしていないため、そのエラーが発生しています
システムに MySQLdb をインストールしました。それらをインポートできるので、モジュールは機能します。しかし、www.[mysite].com/test.cgi にアクセスしても同じエラーが表示されます。
[編集]
質問がよくわからない
connect() パラメータは正しいですか? MySQL は localhost のデフォルト ポートで実行されていますか?
サーバーでMySQLを実行しています。connect() パラメーターに関する質問はここで関連していますか?
SELECT文は正しいですか?
SELECT ステートメントなどの SQL ステートメントが正しいかどうかということですか? まだ SQL クエリを使用したことがありません。ここでそれらが必要ですか?