Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเขียนโปรแกรม Python CGI เพื่อโต้ตอบกับ MySQL ได้อย่างไร


สมมติว่าคุณต้องการลงชื่อเข้าใช้บัญชีของคุณโดยใช้สคริปต์ Python CGI ด้านล่างนี้คือรายละเอียด

login.html

<html>
   <body>
      <form action="login.py" method="get">
         email: <input type="text" name="e1">
         password: <input type="password" name="p1">
         <input type="submit" value="register">
      </form>
   </body>
</html>

login.py

#!C:\Python27\python.exe
import MySQLdb
import cgi
import Cookie

# Open database connection
db = MySQLdb.connect("localhost","root","","student" )

# prepare a cursor object using cursor() method
cursor = db.cursor()
data=cgi.FieldStorage()
a=data.getvalue('e1')
b=data.getvalue('p1')

# Prepare SQL query to fetch a record into the database.
sql = "select id,email,password from user where email='"+a+"' AND password='"+b+"'"
try:
# Execute the SQL command
if(cursor.execute(sql)): 
   # Commit your changes in the database 
   db.commit()
   c=Cookie.SimpleCookie()

   # assign a value
   c['mou']=a

   # set the xpires time
   c['mou']['expires']=24*60*60

   # print the header, starting with the cookie
   print c
   print("Content-type: text/html")
   print('''<html>
      <head>
         <title>Hello Word - First CGI Program</title>
      </head>
      <body>
         <h2>successfully login</h2>
      </body>
   </html>''')
else:
   # Commit your changes in the database
   db.commit()
   print("Content-type: text/html")
   print("<html>")
   print("<body>")
   print("<h2>fail</h2>")
   print("</body>")
   print("</html>")
except:
   # Rollback in case there is any error
   db.rollback()

   # disconnect from server
   db.close()