繁体   English   中英

调用未定义的方法PDOStatement :: numColumns()

[英]Call to undefined method PDOStatement::numColumns()

我无法在$result上运行numColumns()方法。

我的代码:

try {
    $db = new PDO('sqlite:temps.sqlite',null,null,array(
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ));

} catch (PDOException $e) {

    print 'Exception : ' . $e->getMessage();
}

$result = $db->query("SELECT * FROM data LIMIT 30");

$fields = $result->numColumns();

错误是以下之一:

Uncaught Error: Call to undefined method PDOStatement::numColumns() in /*/export.php:7 Stack trace: #0 {main} thrown in /*/export.php on line 7

(第7行是最后一个)

为什么不起作用?

您正在尝试从不同的API执行功能。 您需要PDO ,但尝试从SQLite3Result执行numColumns

文档状态下PDO::query()返回一个PDOStatement对象,并且您的错误也将您指向该对象:

调用未定义的方法PDOStatement :: numColumns()

您需要改为执行columnCount

$result = $db->query("SELECT * FROM data LIMIT 30");

$fields = $result->columnCount();

或者,如果您希望使用SQLite3 ,请初始化一个SQLite3连接:

$db = new SQLite3('mysqlitedb.db');
$result = $db->query("SELECT * FROM data LIMIT 30");
$fields = $result->numColumns();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM