3

I have this code:

ip = "127.0.0.1"
sql = "select count(*) from radacct where nasipaddress=%s"
cur.execute(sql,ip)

But I get an error like

TypeError: not all arguments converted during string formatting

How can i pass the parameters to psycopg2 in the correct way?

0

1 Answer 1

9

The sql arguments you pass to execute must be in a tuple or list, even if there's only one of them. This is noted in the documentation:

For positional variables binding, the second argument must always be a sequence, even if it contains a single variable. And remember that Python requires a comma to create a single element tuple:

So you need to do it like this:

ip ="127.0.0.1" 
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.