Php PRAGMA表_info()上的子查询

Php PRAGMA表_info()上的子查询,php,sqlite,subquery,Php,Sqlite,Subquery,此脚本返回致命错误:对非对象调用成员函数execute()。我假设错误是由语句中的语法错误造成的,而brand表存在于数据库中 我的问题是,在SQLite3中是否有其他方法执行这样的语句? 我想从用户输入中获取给定表名的表信息。只需使用字符串连接即可创建并执行以下SQL: 布拉格表信息(品牌) 不要使用子查询获取表名。表名和列名不允许是参数对不起,您是对的。表_info的参数不能是字符串文字,因此我以前的回答不正确。我已经更正了我的答案now.ya,但是给定的表名是用户输入的。如果需要验证表名,

此脚本返回
致命错误:对非对象调用成员函数execute()
。我假设错误是由语句中的语法错误造成的,而
brand
表存在于数据库中

我的问题是,在SQLite3中是否有其他方法执行这样的语句?
我想从用户输入中获取给定表名的表信息。

只需使用字符串连接即可创建并执行以下SQL:

布拉格表信息(品牌)


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

表名和列名不允许是参数对不起,您是对的。表_info的参数不能是字符串文字,因此我以前的回答不正确。我已经更正了我的答案now.ya,但是给定的表名是用户输入的。如果需要验证表名,则需要首先对sqlite_master执行单独的查询。
$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;