sql >> データベース >  >> RDS >> Mysql

mysql_data_seekpdoと同等

    通常の答えは次のとおりです。データは配列PDOStatement::fetchAllで直接シークしますか ...しかし、クエリが大量のデータをフェッチする場合は間違っています(!)。

    2つの実際の解決策があります

    1) データベースでPDO::FETCH_ORI_ABSの使用が許可されている場合 またはPDO::FETCH_ORI_REL 、例、

    $result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 973);
    

    (編集)ただし、@ ChoiZがコメントしているように、PDO-MySQLの制限 があります。 :「MySQLはカーソル をサポートしていません "(外部 保存されたプログラム)「ドライバーはそれらをエミュレートできません」...後で、またはMariaDBなどのMySQLのフォークを使用して試してください。

    2) データベースソリューション(一種のページ付け)を使用します。例:

    SELECT a, b FROM table LIMIT 1, 973 
    



    1. PHPを使用してリモートデータベースに接続できません

    2. MySQLテーブルのスラッシュ。ただし、PDOとパラメーター化されたクエリを使用します。どうしたの?

    3. MySQLはnow()(時刻ではなく日付のみ)を日時フィールドと比較します

    4. テーブルをロックせずにALTERTABLE?