为什么动态sqlite语句不起作用,而完全相同的静态语句将起作用?

詹德尔

这是我关于堆栈溢出的第一篇文章...在此先感谢您提供的所有帮助我对编程非常陌生,我在Python中创建了一个函数来动态搜索sqlite3数据库,而不用输入大量查询。我将显示代码并尝试解释我打算在所有阶段进行的操作。简而言之,即使我确定应该在数据库中找到一个值,我的cursor.fetchall()也会始终为空。

def value_in_database_check(table_column_name: str, value_to_check: str):
    db, cursor = get_connection() # here i get a database and cursor connection
    for tuple_item in schema(): # here i get the schema of my database from another function
        if tuple_item[0] == "table": # now I check if the tuple is a table
            schema_table = tuple_item[4] # this just gives me the table info of the tuple
            # this lets me know the index of the column I am looking for in the table
            found_at = schema_table.find(table_column_name)
            # if my column value was found I will enter this block of code
            if not found_at == -1:
                table_name = tuple_item[1]
                to_find_sql = "SELECT * FROM {} WHERE ? LIKE ?".format(table_name)
                # value_to_check correlates to table_column_name
                # example "email", "[email protected]"
                cursor.execute(to_find_sql, (table_column_name, value_to_check))
                # this always evaluates to an empty list even if I am certain that the
                # information is in the database
                fetch_to_find = cursor.fetchall()
                if len(fetch_to_find) > 0:
                    return True
    else:
        return False
泥浆

我相信?只能用作值的占位符,不能用作表名或列名(如您尝试这样做)。可能的修补程序(虽然尚未测试):

to_find_sql = "SELECT * FROM {} WHERE {} LIKE ?".format(table_name, table_column_name)
cursor.execute(to_find_sql, (value_to_check, ))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的 if 语句不起作用?

来自分类Dev

为什么我的 if 语句不起作用?

来自分类Dev

为什么将样式放入 if 语句不起作用?

来自分类Dev

如果if语句起作用,为什么switch不起作用

来自分类Dev

为什么此条件语句不起作用,而似乎做同样事情的if语句是否起作用?

来自分类Dev

UPDATE语句在sqlite中不起作用

来自分类Dev

UPDATE语句在sqlite中不起作用

来自分类Dev

选择语句不起作用的SQLite Android

来自分类Dev

为什么我的涉及if语句的JavaScript计算不起作用?

来自分类Dev

为什么我的C#IS语句不起作用?

来自分类Dev

为什么此DateTime.ParseExact语句不起作用?

来自分类Dev

为什么我的switch语句不起作用?

来自分类Dev

为什么这个同步语句示例不起作用?

来自分类Dev

为什么我的python if语句不起作用?

来自分类Dev

为什么我的if else语句(即?:)不起作用?

来自分类Dev

为什么我的JavaScript switch语句不起作用?

来自分类Dev

为什么if request-> only()的语句不起作用?(Laravel)

来自分类Dev

为什么我的ReactRedux.connect语句不起作用?

来自分类Dev

为什么此switch语句在Angular上不起作用?

来自分类Dev

为什么我的isNaN在if语句中不起作用

来自分类Dev

为什么我的Selenium URL_to_be语句不起作用?

来自分类Dev

为什么JavaScript if / else语句不起作用

来自分类Dev

为什么我的Java游戏中的if语句不起作用?

来自分类Dev

为什么我的if,elseif,else语句不起作用?

来自分类Dev

为什么我的JavaScript如果else语句不起作用?

来自分类Dev

为什么此VBA if语句不起作用?

来自分类Dev

为什么此锁语句不起作用

来自分类Dev

为什么此bash IF语句不起作用?

来自分类Dev

为什么此源语句不起作用?

Related 相关文章

  1. 1

    为什么我的 if 语句不起作用?

  2. 2

    为什么我的 if 语句不起作用?

  3. 3

    为什么将样式放入 if 语句不起作用?

  4. 4

    如果if语句起作用,为什么switch不起作用

  5. 5

    为什么此条件语句不起作用,而似乎做同样事情的if语句是否起作用?

  6. 6

    UPDATE语句在sqlite中不起作用

  7. 7

    UPDATE语句在sqlite中不起作用

  8. 8

    选择语句不起作用的SQLite Android

  9. 9

    为什么我的涉及if语句的JavaScript计算不起作用?

  10. 10

    为什么我的C#IS语句不起作用?

  11. 11

    为什么此DateTime.ParseExact语句不起作用?

  12. 12

    为什么我的switch语句不起作用?

  13. 13

    为什么这个同步语句示例不起作用?

  14. 14

    为什么我的python if语句不起作用?

  15. 15

    为什么我的if else语句(即?:)不起作用?

  16. 16

    为什么我的JavaScript switch语句不起作用?

  17. 17

    为什么if request-> only()的语句不起作用?(Laravel)

  18. 18

    为什么我的ReactRedux.connect语句不起作用?

  19. 19

    为什么此switch语句在Angular上不起作用?

  20. 20

    为什么我的isNaN在if语句中不起作用

  21. 21

    为什么我的Selenium URL_to_be语句不起作用?

  22. 22

    为什么JavaScript if / else语句不起作用

  23. 23

    为什么我的Java游戏中的if语句不起作用?

  24. 24

    为什么我的if,elseif,else语句不起作用?

  25. 25

    为什么我的JavaScript如果else语句不起作用?

  26. 26

    为什么此VBA if语句不起作用?

  27. 27

    为什么此锁语句不起作用

  28. 28

    为什么此bash IF语句不起作用?

  29. 29

    为什么此源语句不起作用?

热门标签

归档