ホームページ > データベース > mysql チュートリアル > MySQL の結果を取得した後に PDO で配列ポインタをリセットするにはどうすればよいですか?

MySQL の結果を取得した後に PDO で配列ポインタをリセットするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-28 21:06:13
オリジナル
1038 人が閲覧しました

How Can I Reset Array Pointers in PDO After Fetching MySQL Results?

PDO 結果の配列ポインタの管理

MySQL から PDO に移行する場合、結果内を移動するための配列ポインタの処理は困難な場合があります。フェッチされた配列を毎回行 0 から開始して効果的に複数回反復するには、次の手法を検討してください。

PDO は、配列ポインターをリセットするための MySQL mysql_data_seek() 関数と直接同等のものを提供しません。ただし、取得した結果を配列に保存し、必要に応じて何度でも繰り返すことができます。

このアプローチを示す更新されたコード スニペットを次に示します。

$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();

$rows = $stmt->fetchAll();

foreach ($rows as $r) {
  // First run of the loop, starting from row zero
}

foreach ($rows as $r) {
  // Second run of the loop, starting from row zero again
}
ログイン後にコピー

結果を保存することによって$rows 配列に追加すると、それを個別に複数回反復処理して、各ループが行 0 から始まるようにすることができます。

以上がMySQL の結果を取得した後に PDO で配列ポインタをリセットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート