'It keeps outputing error: Not all parameters were used in the SQL statement

def getLevels(userName, levelID, levelName, levelLength, coins, starStars, amognus):
try:
  statement = "SELECT userName, levelID, levelName, levelLength, coins, starStars, amognus FROM levels WHERE userName=%s AND levelID=%s AND levelName=%s AND coins=%s AND amognus=%0s AND NOT starStars=%0s"
  data = (userName, levelID, levelName, levelLength, coins, starStars, amognus,)
  cursor.execute(statement, data)
  for (userName, levelID, levelName, levelLength, coins, starStars) in cursor:
    print(f"Got records of level {userName}, {levelID}, {levelLength}, {coins}, {starStars}")
except database.Error as e:
  print(f"Error retrieving entry from database: {e}")

getLevels("%s", "%s", "%s", "%s", "%s", "%s", "%s")



Solution 1:[1]

def getLevels(userName, levelID, levelName, levelLength, coins, starStars=0, amognus=0):
    try:
        statement = "SELECT userName, levelID, levelName, levelLength, coins, starStars, amognus FROM levels WHERE userName=%s AND levelID=%s AND levelName=%s AND levelLength=%s AND coins=%s AND NOT starStars=%s AND amognus=%s"
        data = (userName, levelID, levelName, levelLength, coins, starStars, amognus,)
        cursor.execute(statement, data)
        for (userName, levelID, levelName, levelLength, coins, starStars) in cursor:
            print(f"Got records of level {userName}, {levelID}, {levelLength}, {coins}, {starStars}")
    except database.Error as e:
        print(f"Error retrieving entry from database: {e}")

if you not passing dynamic params to startStart and amognus from your function those fill dynamicly as params 0.

getLevels("%s", "%s", "%s", "%s", "%s", "%s", "%s")

to

getLevels(userName='coin_', levelID=1, levelName=1, levelLength=1, coins=...., starStars, amognus)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1