Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

FETCHALL के बिना MYSQL PDO में 2 बार कैसे प्राप्त करें?

मैं इसे वापस लेता हूं ऐसा लगता है कि आप परिणाम का चयन करने के लिए कर्सर अभिविन्यास सामग्री का उपयोग कर सकते हैं ... नमूना कोड आ रहा है ... मैंने यह कोशिश नहीं की है, इसलिए आपको थोड़ा सा खेलना पड़ सकता है। यह इस धारणा पर भी आधारित है कि एक PDO::FETCH_ORI_FIRST data_seek की तरह काम करता है और कर्सर को पहले वाले स्थान पर लौटाने के बजाय पहले स्थान पर छोड़ देता है।

$stmt = $pdo->prepare('SELECT id FROM table', array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();

$first = $pdo->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_FIRST);
$first_row = $first['id'];

// other stuff

// first iteration we rewind to the first record;
$cursor = PDO::FETCH_ORI_FIRST;

while (false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC, $cursor))) {
   $id = $row['id'];
   // successive iterations we hit the "next" record
   $cursor = PDO::FETCH_ORI_NEXT; 
   echo $id;
}

मुझे नहीं लगता कि आप किसी कथन को रिवाइंड कर सकते हैं... मान लें कि इन ब्लॉकों को मध्यस्थ तर्क आईडी के एक समूह द्वारा अलग नहीं किया गया है, बस इसे लूप में करें।

$STH->setFetchMode(PDO::FETCH_COLUMN); // no need to pull an array
$count = 0;
while ($id = $STH->fetch()) {      
  if($count === 0) {
   $first_row = $id;
  }
  echo $id;
  $count++;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैसकल - यूनिक इंडेक्स के साथ संयुक्त कॉलम की डुप्लिकेट प्रविष्टियों को रोकना

  2. MyIsam इंजन लेनदेन समर्थन

  3. MySQL अपडेट इनर जॉइन टेबल क्वेरी

  4. mySQL प्रत्येक श्रेणी के शीर्ष 5 को लौटा रहा है

  5. JSON_VALID () - MySQL में मान्य JSON के लिए परीक्षण करें