我有一个单一的任务,我正在实现一个用户通过网页与之交互的数据库。目标是根据某些条件搜索书籍。这是一个更大项目中的一个模块。
我想让用户能够选择他们想要的标准和顺序,但以下似乎不起作用:
cursor.execute("SELECT * FROM Books WHERE ? REGEXP ? ORDER BY ? ?", [category, criteria, order, asc_desc])
我不知道为什么,因为当我走的时候
cursor.execute("SELECT * FROM Books WHERE title REGEXP ? ORDER BY price ASC", [criteria])
我得到了完整的结果。有没有办法在不诉诸注入的情况下解决这个问题?
数据组织在一个表中,其中图书的 ISBN 是主键,每行有很多列,例如书名、作者、出版商等。应该允许用户选择这些列中的任何一个并执行搜索.