如何使用python修剪MySQLdb中的空白区域

时间:2012-12-05 17:32:05

标签: python mysql-python strip

我有一个Web表单,用于获取用户数据并将其放入mysql数据库。我需要修剪前导和尾随空格/空格。我目前正在使用strip()方法,但它只修剪它们的字段,而不是mysql数据库。

我的代码是:

first_name = first_name.strip()
last_name = last_name.strip()
等等等等。它为网页完全剥离它,但在将其输入SQL数据库时则不能。空间仍然存在。如何删除它们?

编辑:

        db = MySQLdb.connect("localhost","user","pass","db_name")
        cursor = db.cursor()
                cursor.execute("Select * FROM registrants")
                cursor.execute("INSERT INTO registrants VALUES( " + "'" + first_name + "'" + ", " + "'" + last_name + "'" + ");")
        db.commit()
        db.close()

2 个答案:

答案 0 :(得分:0)

我认为你应该以不同的方式将值传递给INSERT

cursor.execute("INSERT INTO registrants (fname, lname) VALUES (%s, %s)", (first_name, last_name)

我不确定这是否是你获得空白的地方,但是它会打开你的sql注入,所以将变量直接放入查询是不好的形式。

答案 1 :(得分:0)

这可能是范围问题。

如果剥离发生在不同的范围内(例如:first_name是一个全局变量而strip()出现在一个函数中)那么你将不会从另一个范围中受益(如果插入发生在另一个函数中,例如)。

您是否尝试过这项测试:

cursor.execute("INSERT INTO registrants VALUES( " + "'" + first_name.strip() + "'" + ", " + "'" + last_name.strip() + "'" + ");")
顺便问一下,你怎么知道db中有空格?检索或显示数据的方式可能存在问题。