mariadb 不断输出错误:SQL语句中未使用所有参数

t3irkdon  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(135)
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}")

获取级别(“%s”,“%s”,“% s”,“% s”,“% s”,“%s”,“%s”)

izkcnapc

izkcnapc1#

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}")

如果你没有从你的函数中传递动态参数给startStart和amognus,这些参数会动态填充为params 0。

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

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

相关问题