0
$tbl = 'brand';
$sth = self::$db->prepare('PRAGMA table_info(SELECT tbl_name FROM sqlite_master WHERE tbl_name = ? LIMIT 1)');
$sth->execute(array($tbl));
$obj = $sth->fetch(PDO::FETCH_OBJ);
$sth->closeCursor();
return $obj;

此脚本返回Fatal error: Call to a member function execute() on a non-object. 我假设错误是由语句中的语法错误造成的,而brand表存在于数据库中。

我的问题是,有没有另一种方法可以在 SQLite3 中执行这样的语句?我想从用户输入中获取给定表名的表信息。

4

1 回答 1

0

只需使用字符串连接来创建和执行以下 SQL:

PRAGMA table_info(品牌)

不要使用子查询来获取表名。

于 2012-05-14T04:56:27.273 回答