我创建了一个带搜索框的CGI网页。我的脚本使用搜索框中的输入查询sqlite数据库。
现在,我想在(在我的网页上)显示与搜索匹配的行的所有列,但是当我执行以下操作时:
query = raw_input(desc)
query = '%' + query + '%'
cursor.execute("SELECT * from Table WHERE Column LIKE ?", (query,))
print cursor.fetchall
网页只显示查询本身 - 数据库没有结果。
任何想法如何才能显示结果?
答案 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>'