PRAGMA table_info()上的子查询

时间:2012-05-14 04:53:04

标签: php sqlite subquery

$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中执行此类语句? 我想从用户的输入中获取给定表名的表信息。

1 个答案:

答案 0 :(得分:0)

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

PRAGMA table_info(品牌)

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