PDOStatement چیست ؟
بعد از اجرای متد های prepare و query خروجی انها به صورت PDOStatement هست،
PDOStatement در واقع شی ای برای پردازش اطلاعات می باشد و دارای متد های مختلفی هست
در اینجا متد های مهم و پر کاربرد ذکر خواهد شد
متغیر $result در اموزش ازین پس یک PDOStatement می باشد
متد setFetchMode
این متد همانند خصوصیت PDO::ATTR_DEFAULT_FETCH_MODE که در پست http://www.webhostingtalk.ir/f148/86678/#post819518 اموزش داده شد نحوه خروجی ردیف ها را تعیین می کند
دقت کنید تفاوت ان این است که تنها برای این شی کاربرد دارد
برای مثال اگر شما 2 PDOStatement دارید و در یکی این خصوصیت را تغییر دهید در دیگری تغییر نمیکند
مقدار پیشفرض ان مقداری است که به PDO::ATTR_DEFAULT_FETCH_MODE دادید
متد fetch
این متد یک ردیف را برمیگرداند ( خروجی بسته به fetchmode میتواند ارایه یا شی باشد )
دقت کنید در ورودی این متد هم میتوانید نحوه خروجی را جدا تنظیم کنید
برای مثال
کد PHP:
$result->fetch(PDO::FETCH_OBJ)
متد fetchAll
این متد ارایه ای از تمام ردیف ها را بر میگرداند ( مقدار هر فیلد ارایه بسته به fetchmode میتواند ارایه یا شی باشد )
دقت کنید در ورودی این متد هم میتوانید نحوه خروجی را جدا تنظیم کنید
متد rowCount
این متد جایگزین متد mysql_num_rows و mysql_affected_rows می باشد
در صورتی که دستور INSERT , UPDATE , DELETE اجرا شده باشد تعداد ردیف های تحت تاثیر قرار گرفته را بر میگرداند
در غیر این صورت در بعضی از دیتابیس ها ( از جمله MySQL ) اگر دستور SELECT اجرا شده باشد تعداد ردیف های انتخابی را برمیگرداند