Sql argumenty, které předáte execute
musí být v n-tici nebo seznamu, i když je pouze jeden z nich. Toto je uvedeno v dokumentaci:
Pro vazbu pozičních proměnných musí být druhý argument vždy sekvenční, i když obsahuje jedinou proměnnou. A pamatujte, že Python vyžaduje čárku k vytvoření n-tice jednoho prvku:
Takže to musíte udělat takto:
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))