【问题标题】:Search multiple field form data in mysql database with python使用python在mysql数据库中搜索多个字段表单数据
【发布时间】:2013-11-14 07:12:36
【问题描述】:

如果在mysql数据库中搜索多个表单字段数据,我如何编写查询。

表单域如下

FirstName:
LastName:
Age:
Gender:

现在我们可以在任意多个字段中输入数据并进行搜索 我尝试过的代码适用于单个字段。无法为多个条件创建

sql = "select * from PERSON where F_Name = %s or L_Name = %s or Age = %s and Gender = %s" 
self.cursor.execute(sql,(self.fname, self.lname, self.age, self.gender))

如果填写了 FirstName 和 Gender 字段

如果填写姓氏、性别、年龄字段

如果填写了 FirsName、Age 字段

如果填写了性别和姓氏字段

喜欢所有可能的情况

【问题讨论】:

标签: python mysql mysql-python


【解决方案1】:

这不是 python 或任何特定语言的。这是关于查询语法的。

试试这个

sql = "select * from PERSON where (F_Name = '%s' or L_Name = '%s' or Age = '%s') and Gender = '%s';" self.cursor.execute(sql % (self.fname, self.lname, self.age, self.gender))

参考这个http://www.tuxradar.com/practicalphp/9/3/13

【讨论】:

  • 它满足所有条件吗?我可以在任何字段中输入数据并进行搜索?它是这样工作的吗?
  • 它没有按预期工作。它只满足某些条件
  • 在每个 %s 之前和之后添加 '。
  • 您的输出查询类似于“select * from PERSON where (F_Name = 'first_name' or L_Name = 'last_name' or Age = '23') and Gender = 'male';”并确保 Age 是字符串或整数。
  • 年龄是一个字符串。我所有的数据都来自表单,所以它是动态的
猜你喜欢
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-05
  • 1970-01-01
  • 2015-09-23
  • 2015-08-30
  • 1970-01-01
相关资源
最近更新 更多