显示sqlite数据库查询的结果

时间:2013-12-19 23:40:27

标签: python html sql sqlite cgi

我创建了一个带搜索框的CGI网页。我的脚本使用搜索框中的输入查询sqlite数据库。

现在,我想在(在我的网页上)显示与搜索匹配的行的所有列,但是当我执行以下操作时:

query = raw_input(desc)
query = '%' + query + '%'
cursor.execute("SELECT * from Table WHERE Column LIKE ?", (query,))
print cursor.fetchall

网页只显示查询本身 - 数据库没有结果。

任何想法如何才能显示结果?

1 个答案:

答案 0 :(得分:2)

您希望致电 cursor.fetchall();你只是显示方法的表示,否则:

print cursor.fetchall()

您没有看到任何内容的原因是因为Python中方法对象的表示使用尖括号,如HTML标记:

>>> print c.fetchall
<built-in method fetchall of sqlite3.Cursor object at 0x11059d9d0>

您的浏览器对<built-in> HTML标记一无所知,只是不显示它。

您可能想要创建一个包含结果的实际表格:

cursor.execute("SELECT * from Table WHERE Column LIKE ?", (query,))
print '<table>'

for row in cursor:
    print '<tr>{}</tr>'.format(''.join(['<td>{}</td>'.format(col) for col in row]))

print '</table>'
相关问题