$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中执行此类语句? 我想从用户的输入中获取给定表名的表信息。
答案 0 :(得分:0)
只需使用字符串连接来创建和执行以下SQL:
PRAGMA table_info(品牌)
不要使用子查询来获取表名。