現在、Web アプリケーションを PHP 5.6 から PHP 7 に更新中です。したがって、古い MySQL-Extension を使用していたデータベース抽象化クラスを変更する必要があります。このクラスには、SQL ステートメントを準備して実行する「Query()」メソッドと、単一の行をフェッチして返すメソッド「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: もちろん、これがベスト プラクティスではないことはわかっていますが、アプリケーションで何千行ものコードを変更する必要がないようにしています。