J'essaie d'apprendre à utiliser Python pour créer du contenu Web dynamique. Problème Je vais avoir la porte, cependant, quand j'essaye de faire une requête mySQL, absolument rien ne se passe. Il n'y a pas de message d'erreur ... il semble que le script s'arrête simplement lorsque j'importe le module qui permet la connexion à la base de données.script côté serveur pour les pages Web avec Python: rien ne se passe
Cela fait exactement ce que je m'attendais lorsque j'essaie de l'exécuter à partir de la ligne de commande.
#!/usr/bin/python
print "Content-Type: text/xml"
print
#if I type, for example, print "<b>test</b>" here, it appears in the browser window
#msql contains the credentials for connecting to database
#it is NOT in public_html
import msql
#no print instructions after this point are followed
connex=msql.msqlConn()
db=msql.MySQLdb
cursor=connex.cursor(db.cursors.DictCursor)
cursor.execute("SELECT * FROM userActions")
#run the query
xmlOutput=""
rows=cursor.fetchall()
#output the results
for row in rows:
xmlOutput+="<action>"
xmlOutput+="<actionId>"+str(row["actionId"])+"</actionId>"
xmlOutput+="<userId>"+str(row["userId"])+"</userId>"
xmlOutput+="<actText>"+str(row["action"])+"</actText>"
xmlOutput+="<date>"+str(row["dateStamp"])+"</date>"
xmlOutput+="</action>"
xmlOutput="<list>"+xmlOutput+"</list>"
print xmlOutput
Ce serait mon premier coup de couteau à cela, il se simplement à la raison que cela devrait fonctionner. Cependant, je n'ai rien trouvé en ligne qui puisse suggérer le contraire.
Construire XML (ou HTML) par concaténation de chaînes de caractères semble être une très mauvaise idée pour moi ... – delnan
Quelle bibliothèque est-ce? msql? Jamais entendu parler. –
Lorsque vous l'exécutez à partir de la ligne de commande, que se passe-t-il? Ma conjecture est que votre script reçoit une erreur à un moment donné et cela est envoyé à l'erreur standard, de sorte que vous ne le voyez pas dans le navigateur. Ajout temporaire de 'import sys; sys.stderr = sys.stdout' entraînerait également un message d'erreur dans le navigateur. – kindall