0

下面是python服务器页面(PSP)的代码;使用 mysqldb,我试图从表“addr”中获取记录,然后将其打印到 html 页面上。

但是由于某种原因,for循环内部(包含表行)和for循环外部(包含“Hello”语句)的打印语句不起作用,因为在代码执行后最后只显示语句“打印的行”没有别的了。

<% import MySQLdb 

conn = MySQLdb.Connect(host='localhost',user='user',passwd='password',db='db1')
cur = conn.cursor()
sql= "SELECT * from addr;"
try:
  cur.execute(sql)
  data = cur.fetchall()
  for row in data:
    print row[1]
  print("Hello")
  cur.close()
  conn.close()
%>
<br />
<html>
<h1> Rows Printed</h1>
</body>
</html>
<%
except MySQLdb.IntegrityError,message:
  errorcode = message[0]
%>
<html>
<body><h1> Technical issue</h1>
</body>
</html>

即使没有 try catch 块,print 语句也不会显示结果,但是当作为 Python 脚本运行时,它可以正常工作并提供存储在表中的所需记录。

4

1 回答 1

0

我一生都无法理解您为什么要使用 Python 服务器页面,但是既然您是,您显然不能使用print. 您需要以 PSP 语法将结果实际输出到页面。就像是:

for row in data: %>
<br><%= row[1] =%>
<%
cur.close()

等等

于 2012-05-28T22:09:57.153 回答