PDOStatement::fetch - احصل على الصف التالي من مجموعة النتائج (PHP 5 >= 5.1.0، PECL pdo >= 0.1.0)
مختلط PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
يحصل على الصف التالي من مجموعة النتائج المرتبطة بكائن PDOStatement. تحدد المعلمة fetch_style كيفية إرجاع POD للصفوف.
fetch_style
التحكم في كيفية إرجاع السطر التالي إلى المتصل. يجب أن تكون هذه القيمة إحدى سلسلة الثوابت PDO::FETCH_*، والقيمة الافتراضية هي قيمة PDO::ATTR_DEFAULT_FETCH_MODE (القيمة الافتراضية هي PDO::FETCH_BOTH).
PDO::FETCH_ASSOC : إرجاع مصفوفة مفهرسة حسب اسم عمود مجموعة النتائج
PDO::FETCH_BOTH (افتراضي): إرجاع مصفوفة مفهرسة بواسطة اسم عمود مجموعة النتائج ورقم العمود الذي يبدأ بـ 0
PDO::FETCH_BOUND : إرجاع TRUE
وتعيين قيمة العمود في مجموعة النتائج لمتغير PHP المرتبط بطريقة PDOSTatement::bindColumn().
PDO::FETCH_CLASS : إرجاع مثيل جديد للفئة المطلوبة، وتعيين أسماء الأعمدة في مجموعة النتائج لأسماء السمات المقابلة في الفئة. إذا كان fetch_style
يحتوي على PDO::FETCH_CLASSTYPE (على سبيل المثال: PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE )، فسيتم تحديد اسم الفئة بقيمة العمود الأول
PDO::FETCH_INTO : تحديث مثيل موجود للفئة المطلوبة، وتعيين الأعمدة في مجموعة النتائج إلى السمات المسماة في الفئة
PDO::FETCH_LAZY : استخدم PDO::FETCH_BOTH و PDO::FETCH_OBJ معًا لإنشاء اسم متغير كائن للوصول
PDO::FETCH_NUM : إرجاع مصفوفة مفهرسة إلى رقم عمود مجموعة النتائج بدءًا من 0
PDO::FETCH_OBJ : إرجاع كائن مجهول يتطابق اسم سمته مع اسم عمود مجموعة النتائج
cursor_orientation بالنسبة للمؤشر القابل للتمرير والممثل بكائن PDOStatement، تحدد هذه القيمة الصف الذي سيتم إرجاعه إلى المتصل. يجب أن تكون هذه القيمة إحدى سلسلة الثوابت PDO::FETCH_ORI_*، والقيمة الافتراضية هي PDO::FETCH_ORI_NEXT. لجعل كائن PDOStatement يستخدم مؤشرًا قابلاً للتمرير، يجب عليك تعيين سمة PDO::ATTR_CURSOR إلى PDO::CURSOR_SCROLL عند استخدام PDO::prepare() لإعداد عبارة SQL.
إزاحة بالنسبة للمؤشر القابل للتمرير الذي يمثله كائن PDOStatement مع تعيين معلمة cursor_orientation على PDO::FETCH_ORI_ABS، تحدد هذه القيمة رقم الصف المطلق للصف في مجموعة النتائج التي سيتم استردادها. بالنسبة للمؤشر القابل للتمرير الذي يمثله كائن PDOStatement مع تعيين المعلمة cursor_orientation على PDO::FETCH_ORI_REL، تحدد هذه القيمة موضع الصف المراد جلبه بالنسبة إلى المؤشر قبل استدعاء PDOStatement::fetch()
تعتمد القيمة التي ترجعها هذه الوظيفة (الطريقة) عند النجاح على نوع الاستخراج. في كافة الحالات، يُرجع الفشل FALSE.
<?php$sth = $dbh->prepare("اختر الاسم، اللون من الفاكهة");$sth->execute();/* استخدم PDOStatement::fetch style*/print("PDO::FETCH_ASSOC: ") ;print("إرجاع الصف التالي كمصفوفة مفهرسة حسب اسم العمودn");$result = $sth->fetch(PDO::FETCH_ASSOC);print_r($result);print("n");print("PDO::FETCH_BOTH: ");print("إرجاع الصف التالي كمصفوفة مفهرسة بواسطة كلا العمودين الاسم والرقمn");$result = $sth->fetch(PDO::FETCH_BOTH);print_r($result);print("n");print("PDO::FETCH_LAZY: ");print("إرجاع الصف التالي ككائن مجهول مع أسماء الأعمدة كخصائصn");$result = $sth->fetch(PDO::FETCH_LAZY);print_r($result);print("n");print("PDO::FETCH_OBJ: ");print("إرجاع الصف التالي ككائن مجهول مع أسماء الأعمدة كخصائصn");$result = $sth->fetch(PDO::FETCH_OBJ);print $result->NAME;print("n");?>
المثال أعلاه سوف يخرج:
PDO::FETCH_ASSOC: إرجاع الصف التالي كمصفوفة مفهرسة بواسطة عمود nameArray( [NAME] => apple [COLOUR] => أحمر)PDO::FETCH_BOTH: إرجاع الصف التالي كمصفوفة مفهرسة بواسطة اسم العمود ورقم المصفوفة( [NAME) ] => موزة [0] => موزة [COLOUR] => أصفر [1] => أصفر)PDO::FETCH_LAZY: إرجاع الصف التالي ككائن مجهول مع أسماء الأعمدة كخصائصPDORow Object( [NAME] => برتقالي [COLOUR] => برتقالي)PDO::FETCH_OBJ: إرجاع الصف التالي ككائن مجهول مع أسماء الأعمدة كخصائص
<?phpfunction readDataForwards($dbh) { $sql = 'حدد توزيع الورق، فاز، الرهان من mynumbers ORDER BY BET'; حاول { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO: :CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] "t" $row[1] "t" $row[2] . n"; طباعة بيانات $; } $stmt = null; } Catch (PDOException $e) { print $e->getMessage(); }} الدالة readDataBackwards($dbh) { $sql = 'حدد توزيع الورق، فاز، الرهان من mynumbers ORDER BY bet'; حاول { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) ); $stmt->execute(); $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); "n"; طباعة $data } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null } Catch (PDOException $e) { print $e->getMessage() }}print "القراءة للأمام:n";readDataForwards($conn);print "القراءة للخلف" :n";readDataBackwards($conn);?>
المثال أعلاه سوف يخرج:
القراءة للأمام:21 10 516 0 519 20 10 القراءة للخلف:19 20 1016 0 521 10 5