Các đối số sql bạn chuyển cho execute
phải ở trong một bộ hoặc danh sách, ngay cả khi chỉ có một trong số chúng. Điều này được ghi chú trong tài liệu:
Đối với ràng buộc các biến vị trí, đối số thứ hai phải luôn là thứ tự, ngay cả khi nó chứa một biến duy nhất. Và hãy nhớ rằngPython yêu cầu dấu phẩy để tạo một bộ phần tử duy nhất:
Vì vậy, bạn cần làm như sau:
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))