Hi everyone,
I cannot run an executesql command with the placeholders argument. Is there
a robust example somewhere to use as a reference ?
I need to pass string and float variables via placeholders
I use a postgresql database
test code is
def test():
tablename = 'tablex'
query = 'select * from %s'
result = db.executesql(query,placeholders=(tablename,))
return locals()
and the traceback:
<class 'gluon.contrib.pg8000.ProgrammingError'> ('ERROR', '42601', 'syntax
error at or near "$1"') Version web2py™ Version
2.12.3-stable+timestamp.2015.08.19.00.18.03 Traceback
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Traceback (most recent call last):
File "/opt/web2py/gluon/restricted.py", line 227, in restricted
exec ccode in environment
File "/opt/web2py/applications/proxima/controllers/default.py"
<http://127.0.0.1:8000/admin/default/edit/proxima/controllers/default.py>, line
89, in <module>
File "/opt/web2py/gluon/globals.py", line 412, in <lambda>
self._caller = lambda f: f()
File "/opt/web2py/applications/proxima/controllers/default.py"
<http://127.0.0.1:8000/admin/default/edit/proxima/controllers/default.py>, line
41, in test
result = db.executesql(query,placeholders=(tablename,))
File "/opt/web2py/gluon/packages/dal/pydal/base.py", line 998, in executesql
adapter.execute(query, placeholders)
File "/opt/web2py/gluon/packages/dal/pydal/adapters/postgres.py", line 360,
in execute
return BaseAdapter.execute(self, *a, **b)
File "/opt/web2py/gluon/packages/dal/pydal/adapters/base.py", line 1378, in
execute
return self.log_execute(*a, **b)
File "/opt/web2py/gluon/packages/dal/pydal/adapters/base.py", line 1372, in
log_execute
ret = self.cursor.execute(command, *a[1:], **b)
File "/opt/web2py/gluon/contrib/pg8000/core.py", line 573, in execute
self._c.execute(self, operation, args)
File "/opt/web2py/gluon/contrib/pg8000/core.py", line 1626, in execute
self.handle_messages(cursor)
File "/opt/web2py/gluon/contrib/pg8000/core.py", line 1774, in handle_messages
raise self.error
ProgrammingError: ('ERROR', '42601', 'syntax error at or near "$1"')
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.