cev*_*ing 0 sqlite perl prepared-statement dbi
我试图准备一个 pragma 语句:
$sth = $dbh->prepare (q{pragma table_info(?)})
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
DBD::SQLite::db prepare failed: near "?"
Run Code Online (Sandbox Code Playgroud)
准备字符串有什么问题?
来自DBI 文档:
对于大多数驱动程序,占位符不能用于语句的任何元素,否则会阻止数据库服务器验证语句并为其创建查询执行计划。
所以,我只能假设这种情况下的占位符阻止了数据库服务器(或在这种情况下自包含的数据库引擎)验证语句。
即使语句可以准备,根据SQLite的PRAGMA文档,它看起来像table_info期待一个不带引号的表名参数。DBD::SQLite 希望默认引用所有绑定值,因此无论如何都会导致单独的问题。
| 归档时间: |
|
| 查看次数: |
845 次 |
| 最近记录: |