cgi mysql数据库_pythoncgi脚本只在mysql数据库中插入整数
我开始用Python编写脚本,遇到了一个奇怪的问题。在我试图在mysql数据库中插入一些值。数据库字段为varchar、utf-8unicode使用python3.2和wampserver2.2(apache 2.2.21,mysql 5.5.20)如果我尝试print(ime)、print(prezime)等,它会从另一个页面打印表单的值,所以我得到的值是正确的。在如果我将sql语句写为:"IN
我开始用Python编写脚本,遇到了一个奇怪的问题。在
我试图在mysql数据库中插入一些值。
数据库字段为varchar、utf-8unicode
使用python3.2和wampserver2.2(apache 2.2.21,mysql 5.5.20)
如果我尝试print(ime)、print(prezime)等,它会从另一个页面打印表单的值,所以我得到的值是正确的。在
如果我将sql语句写为:"INSERT INTO Clanovi(CL_Ime,CL_Prezime, CL_Email, CL_Tel) VALUES ("aa","aa","aa","aa")"
它将这些值插入数据库
如果我写下:
^{pr2}$
它不起作用
最后如果我把
sql=“插入到Clanovi(CL\u-Ime,CL-Prezime,CL-u-Email,CL-u-Tel)值(%s,%s,%s,%s)”%(输入法,Prezime,Email,Tel)
如果我只在表单字段中输入数字,它将提交到数据库(添加新数据)
输入法=21 prezime=232电子邮件=123电话=123
如果我把其他类似字母的东西放进去,它不会给数据库增加新行
ime=smth prezime=blabla电子邮件=aa电话=dada
(我知道这种方法有安全风险)
下面是完整的代码(我把print(sql)放进去只是为了看看我的查询在最后是什么样子)#!c:\python32\python.exe
import MySQLdb
import cgi
print ("Content-type: text/html\n\n")
form = cgi.FieldStorage()
ime =form["ime"].value
prezime = form["prezime"].value
email= form["email"].value
tel = form["tel"].value
print(ime)
db = MySQLdb.connect("localhost","root","","biblioteka" )
cursor = db.cursor()
sql = "INSERT INTO Clanovi(CL_Ime,CL_Prezime, CL_Email, CL_Tel) VALUES (%s,%s,%s,%s)"%(ime,prezime,email,tel)
print(sql)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
谢谢你的时间和帮助。在
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)