我目前正在将我的 Web 应用程序从 PHP 5.6 更新到 PHP 7,因此我需要更改一直使用旧 MySQL-Extension 的数据库抽象类。该类有一个方法“Query()”,其中正在准备和执行 SQL 语句,还有一个方法“Fetch()”,它获取单行并返回它。查看简化版本:
function Query($query='')
{
$result = $this->connection->Prepare($query);
$result->Execute();
return $result;
}
function Fetch($resource=null)
{
return $resource->Fetch(PDO::FETCH_ASSOC);
}
所以基本上我想做的是:
$statement = Query('SELECT * FROM Test');
$firstRow = Fetch($statement);
print_r($statement) 向我展示了这个:
PDOStatement Object
(
[queryString] => SELECT * FROM Test
)
但是当我调用“Fetch”时,没有返回任何行。有人可以判断是否可以返回 PDOStatement 对象并将它们传递给其他函数/方法以供“以后使用”?
PS:当然我知道这不是最佳实践,但我试图避免在应用程序中更改数千行代码。