人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのデータベースの操作でPDOを使用しておりますが
mysql_data_seekに変わるメソッドは何でしょうか?
要は、行を指定したいのです。

●質問者: makocan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
●200ポイント

fetch (PDOStatement::fetch) において、第2引数を PDO::FETCH_ORI_ABSとして、第3引数に位置を指定してください。
http://php.net/manual/ja/pdostatement.fetch.php

offset
スクロール可能なカーソルを表すPDOStatementオブジェクトの場合で、 cursor_orientationパラメータが PDO::FETCH_ORI_ABSに設定された場合、この値により 取得される結果セットの行の絶対位置が指定されます。


rouge_2008さんのコメント
提示された「PDOStatement::fetch」のページのユーザーコメントにもありますが、MySQLドライバーではカーソル操作はサポートされないそうです。 http://stackoverflow.com/questions/12044636/php-pdo-mysql-scrollable-cursor-doesnt-work/12064438#12064438 mysql関数の代替としてPDOにこだわらないのでしたら、mysqliを利用してはいかがでしょうか? ・どのAPIを使うか http://www.php.net/manual/ja/mysqlinfo.api.choosing.php ・mysql-data-seek http://php.net/manual/ja/function.mysql-data-seek.php >> <span style="font-weight:bold;font-size:large;">警告</span> この拡張モジュールは PHP 5.5.0 で非推奨になりました。将来のバージョンで削除される予定です。 [http://www.php.net/manual/ja/book.mysqli.php:title=MySQLi] あるいは [http://www.php.net/manual/ja/ref.pdo-mysql.php:title=PDO_MySQL] を使うべきです。詳細な情報は [http://www.php.net/manual/ja/mysqlinfo.api.choosing.php:title=MySQL: API の選択] や [http://www.php.net/manual/ja/faq.databases.php#faq.databases.mysql.deprecated:title=それに関連する FAQ] を参照ください。 この関数の代替として、これらが使えます。 - [http://www.php.net/manual/ja/mysqli-result.data-seek.php:title=mysqli_data_seek()] - PDO::FETCH_ORI_ABS <<

TransFreeBSDさんのコメント
確認不足で済みません。 失礼しました。

rouge_2008さんのコメント
どうしてもPDOを使う必要があるのでしたら、「fetchall」を実行後に結果セットは破棄して、返り値を代入した配列を操作するのはいかがでしょう?(余分なデータを取得しないようにSQL文を作成する必要もあります。) ・PDOStatement::fetchAll http://www.php.net/manual/ja/pdostatement.fetchall.php >> 大きな結果セットをフェッチするためにこのメソッドを使用することは、 システムとネットワークリソースに大量の要求を行うことになります。 PHP で全てのデータ処理と操作を行うよりも、データベースサーバー側で 結果セットを操作することを検討してください。例えば、PHP で処理を行う前に SQL で WHERE 句や ORDER BY 句を使用し、結果を制限することです。 <<
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ