نمایش نتایج 1 تا 29 از 29

نام تاپیک: فرق مجموعه تابع Mysql با Mysqli

  1. #1
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    Question فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام به همه ی دوستان
    کسی فرق این دو نوع را میدونه ، لطفا توضیح کامل بدید و بگید کدوم بهتره!
    من خودم یه چیزایی میدونم:
    1.mysqli هم از نوع شی گرایی و از نوع پدروال(تابعی) استفاده می کنه!
    2.جاهای پارامتر ها هم با هم فرق می کنه!
    فقط همین قدر ، کسی میدونه توضیح بیش تر بده!
    موفق باشید.

  2. #2

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    mysqli سریعتر هست. البته منبعی ندارم و قبلا سوال شما رو پرسیده بودم و اکثرا روی تفاوت سرعت بحث می کردن.

  3. #3
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    سلام

    خوب اساسی ترین بحثش همون شی گرا بودنش هستش که خودش کم نیست ! ادعا هم میشه که بهتر از mysql extension کار میکنه !
    اما تجربه شخصی خودم اینه که یه تابع خیلی توپ داره به نام multi_query که به کاربر اجازه میده بیش از یک query را در یک لحظه اجرا کنه ! توی mysql اینطور نیست و با تابع query فقط میتونی یک query اجرا کنی ! یکی از جا های استفادش Restore کردن Backup پایگاه داده هستش !
    یک کار خوب دیگه ای هم که میشه باهاش کرد Prepared Statements هستش ! با استفاده ا تابع prepare که مزایای خاص خودش را داره !
    من یه زمانی خیلی با این کتابخونه ها یا Extension ها کار کردم ! به نظر من PDO از همه بهتر و مناسب تره !

  4. #4

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    سلام

    خوب اساسی ترین بحثش همون شی گرا بودنش هستش که خودش کم نیست ! ادعا هم میشه که بهتر از mysql extension کار میکنه !
    اما تجربه شخصی خودم اینه که یه تابع خیلی توپ داره به نام multi_query که به کاربر اجازه میده بیش از یک query را در یک لحظه اجرا کنه ! توی mysql اینطور نیست و با تابع query فقط میتونی یک query اجرا کنی ! یکی از جا های استفادش Restore کردن Backup پایگاه داده هستش !
    یک کار خوب دیگه ای هم که میشه باهاش کرد Prepared Statements هستش ! با استفاده ا تابع prepare که مزایای خاص خودش را داره !
    من یه زمانی خیلی با این کتابخونه ها یا Extension ها کار کردم ! به نظر من PDO از همه بهتر و مناسب تره !
    تابع multi_query می شه همزمان یک کوئری برای حذف رکوردها، یک کوئری برای آپدیت، یک گوئری برای اینسرت و در نهایت یک کوری برای سلکت کردن استفاده کرد؟ سرعت این تابع نسبت به کوئری های تکی چطور هست؟

  5. #5
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    همونطور که توضیح دادم ! میتونی انواع Delete,Update,Insert را با کاراکتر ; جدا کنی و بهش بدی ! همه را اجرا میکنه !
    در رابطه با مقوله سرعت خودش سرعت خوبی داره اما اگه جداولت خوب ایندکس باشن در زمان Delete و Update سرعت بیشتری داری ! برای insert هم باید از یک Insert Query برای وارد کردن چندین سطر همزمان استفاده کنی ! فقط توجه کن معمولا توی هاست ها با mysql.ini تعداد insert را برای مدیریت حافظه محدود میکنن ! اما معمولا ا 400 یا 500 تا جواب میده !(منظورم 400 یا 500 تا insert با یک query هستش ها)

  6. #6

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    سلام

    خوب اساسی ترین بحثش همون شی گرا بودنش هستش که خودش کم نیست ! ادعا هم میشه که بهتر از mysql extension کار میکنه !
    اما تجربه شخصی خودم اینه که یه تابع خیلی توپ داره به نام multi_query که به کاربر اجازه میده بیش از یک query را در یک لحظه اجرا کنه ! توی mysql اینطور نیست و با تابع query فقط میتونی یک query اجرا کنی ! یکی از جا های استفادش Restore کردن Backup پایگاه داده هستش !
    یک کار خوب دیگه ای هم که میشه باهاش کرد Prepared Statements هستش ! با استفاده ا تابع prepare که مزایای خاص خودش را داره !
    من یه زمانی خیلی با این کتابخونه ها یا Extension ها کار کردم ! به نظر من PDO از همه بهتر و مناسب تره !
    اگر همزمان از آپدیت، اینسرت، سلکت و دلیت استفاده کنیم، نتیجه هر کدوم از کوئری ها رو چطور باید بدست بیاریم؟

  7. #7
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام
    با تشکر از همه ی دوستان
    اگر مثال هم در پست ها می زدید ، خیلی بهتر می شد.
    سوالی هم داشتم این هست که توی شی گرایی (کلاس هایی که خودمان می نویسیم) وقتی از توابع mysqli استفاده می کنیم، چه جوری می شود!
    مثلا توی حالت عادی استفاده از mysqli توی شی گرایی چه گونه باید استفاده نمود Tمثلا اینجوری :
    $this->$db->query($query);

    اگر امکان داره کد زیر رو به شی گرایی برگردونید.
    <?php
    $isbn = 125448;
    $author = 'Ahmad';
    $title = 'آموزش ورد';
    $price = 20000;

    $host = 'localhost';
    $user = 'myuser';
    $pass = 'mypass';
    $db_name = 'mydb';
    @ $db = new mysqli("$host", "$user", "$pass", "$db_name");

    $query = "insert into books values ('".$isbn."', '".$author."', '".$title."', '".$price."')";
    $result = $db->query($query);
    if (!$result)
    echo "دستور با مشکل روبه رو شده است";
    ?>

    در ضمن فقط تفاوت های این دو مجموعه به این چند مثال ختم می شود؟
    آخرین ویرایش به وسیله armsoftpc : دوشنبه 14 شهریور 1390 در 17:32 عصر دلیل: ارائه کد

  8. #8
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    اگر همزمان از آپدیت، اینسرت، سلکت و دلیت استفاده کنیم، نتیجه هر کدوم از کوئری ها رو چطور باید بدست بیاریم؟
    من تا حالا توی هیچ زبان برنامه نویسی که Multy Query میگیره ندیدم بشه نتیجش را گرفت ! باید مطمئن باشی همه درست اجرا میشه ! مگه اینکه بخوای تک به تک انجام بدی ! اما تا جایی که میدونم اگه حتی توی خط 700 هم خطایی باشه کلا هیچ چیزی اجرا نمیشه ! همه را به عنوان واحد میبینه ! هیچ ایرادی توی کار نباید باشه ، یادت باشه منظورم Syntax خود SQL Query ها هستش ها ! اگر مثلا بجای مقدار عددی برای یک فیلد integer توی insert در خط 400 رشته بدی تا خط قبلش همه اجرا میشه واز اونجا به بعد خظا میده !

    باز هم میگم از این روش برای import کردن زیاد استفاده میشه ! کسی نمیاد 3 تا query پشت سر هم که جوابش را نیاز داره را با این تابع اجرا کنه !

  9. #9
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    مثلا توی حالت عادی استفاده از mysqli توی شی گرایی چه گونه باید استفاده نمود
    ببخشین فکر کنم وقتی شما داری از کلاس mysql با دستور new نمونه سازی میکنی ! و از کاراکتر <- برای متد query استفاده میکنی ! همین مفهوم شیگرایی یا Object Oriented هستش ! غیر از اینه ؟

    در ضمن فقط تفاوت های این دو مجموعه به این چند مثال ختم می شود؟
    قطعا خیر ! این تفاوت ها ، چیزی هایی بود که بنده حقیر میدونستم ! ;)

  10. #10
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    ببخشین فکر کنم وقتی شما داری از کلاس mysql با دستور new نمونه سازی میکنی ! و از کاراکتر <- برای متد query استفاده میکنی ! همین مفهوم شیگرایی یا Object Oriented هستش ! غیر از اینه ؟
    به نام خدا
    با سلام
    شی گرایی توابع mysqli ربطی به کلاس های من نداره ، اون ها قبلا پیداسازی شدند و من فقط از اون ها استفاده می کنم.سوال من هم این است که چه طور در کلاس از توابع کلاس همانطور که در بالا مثال زدم رو پیداسازی کرد.
    آیا این کد صحیح است یا غلط! اگر غلط است صحیح اون چیست؟
    کسی نبود کد ما رو در شی گرایی پیداسازی کنه!

  11. #11

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    نقل قول نوشته شده توسط idocsidocs مشاهده تاپیک
    اگر همزمان از آپدیت، اینسرت، سلکت و دلیت استفاده کنیم، نتیجه هر کدوم از کوئری ها رو چطور باید بدست بیاریم؟
    ميتونيد يك حلقه while بگذارين كه شرط اون، از تابع mysqli_more_results استفاده ميكنه. اين تابع چك ميكنه ببينه آيا در آخرين اجراي mysqli_multi_query، نتيجه ديگري هم وجود داره يا نه و اگه وجود داشته باشه، true برميگردونه. حالا داخل حلقه while ميتونيد با mysqli_next_result نتيجه بعدي رو بدست بيارين. حالا هر چندتا Query كه اجرا كرده باشين، فرقي نداره. موفق باشيد.

  12. #12

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    ميتونيد يك حلقه while بگذارين كه شرط اون، از تابع mysqli_more_results استفاده ميكنه. اين تابع چك ميكنه ببينه آيا در آخرين اجراي mysqli_multi_query، نتيجه ديگري هم وجود داره يا نه و اگه وجود داشته باشه، true برميگردونه. حالا داخل حلقه while ميتونيد با mysqli_next_result نتيجه بعدي رو بدست بيارين. حالا هر چندتا Query كه اجرا كرده باشين، فرقي نداره. موفق باشيد.
    فرض کنید یه کوئری برای دلیت، یکی برای سلکت و یکی برای اینسرت استفاده کردیم. تابع mysqli_next_result برای هر کدوم از این کوئری ها چه مقداری رو برمی گردونه؟

  13. #13

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    دستورات ويرايشي اگه از mysql و mysqli استفاده كنيد، درصورت موفقيت، TRUE و درغير اينصورت FALSE برميگردونن اما اگه از PDO::exec استفاده كنيد، تعداد ركوردهاي تحت تأثير دستور مربوطه رو به شما اعلام خواهد كرد. موفق باشيد.

  14. #14
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام و تشکری دوباره از دوستان
    به نظر شما من توی پروژم از mysql استفاده کنم یا mysqli.(فقط یک کلمه است)
    آیا امکان دارد mysqli در بعضی سرورها کار نکند و مشکل بوجود بیاورد.
    دوستان نظراتشون را اعلام کنند.

  15. #15

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نظر شما من توی پروژم از mysql استفاده کنم یا mysqli.(فقط یک کلمه است)
    mysqli
    آیا امکان دارد mysqli در بعضی سرورها کار نکند و مشکل بوجود بیاورد.
    مگه همچین چیزی می شه؟ مگر اینکه نرمافزار سرور قدیمی باشه. در این صورت باید کلا سرور رو عوض کنید.

  16. #16
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    مگه همچین چیزی می شه؟ مگر اینکه نرمافزار سرور قدیمی باشه. در این صورت باید کلا سرور رو عوض کنید.
    اتفاقا احتمال داره ، من با خیلی از سرور های اروپایی و آمریکایی کار کردم ، بعضی هاشون mysqli را فقط با درخواست بعضی هم کلا باز نمیکنن !
    اما PDO روی همه بوده ، به نظر من mysql خودش آزمایش داده و خوبه ، PDO بزرگترین مزیتی که داره اینه راحت میشه بین Database ها فقط با تغییر نام Driver جابجا شد !

  17. #17

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    اتفاقا احتمال داره ، من با خیلی از سرور های اروپایی و آمریکایی کار کردم ، بعضی هاشون mysqli را فقط با درخواست بعضی هم کلا باز نمیکنن !
    سرورهایی که استفاده کردید معتبر بودن؟ فقط به دلیل اینکه یه سرور اروپایی بوده نمی شه به عنوان یه سرور معتبر بهشون استناد کرد.

  18. #18

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    اتفاقا احتمال داره ، من با خیلی از سرور های اروپایی و آمریکایی کار کردم ، بعضی هاشون mysqli را فقط با درخواست بعضی هم کلا باز نمیکنن !
    اما PDO روی همه بوده ، به نظر من mysql خودش آزمایش داده و خوبه ، PDO بزرگترین مزیتی که داره اینه راحت میشه بین Database ها فقط با تغییر نام Driver جابجا شد !
    این حرف شما صحیح نیست mysqli برای php>5 و mysql>4.1 هستش و باید اکتنشن مربوط رو در فایل php.ini فعال کرده باشن که در ورژن های جدید php بصورت پیشفرض فعال هست
    اکتنشن mysql تقریبا قدیمی شده و الان همه اساتید به استفاده از اکتنشن های جدید تشویق میکنند
    آخرین ویرایش به وسیله ...!M.J!... : شنبه 23 مهر 1390 در 21:30 عصر

  19. #19

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    پیشنهاد می کنم در پروژه هاتون از PHP Data Object یا همون PDO استفاده کنید

  20. #20
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام به همه ی دوستان
    اکتنشن mysql تقریبا قدیمی شده و الان همه اساتید به استفاده از اکتنشن های جدید تشویق میکنند
    پس چرا سیستم های مدیریت محتوایی چون وردپرس ، جوملا ، ویبولتین و... از مجموعه توابع mysql استفاده می کنند ، من یه نگاهی به راهنمای توابع php انداختم ، تعداد توابع برای mysql بیشتر از mysqli است، چرا؟
    خیلی ها بر این باورند که mysqli از mysql سرعتش بیشتر هست. اما اینطور نیست. سرعت mysql از mysqli (منظورم اکسشنها هست) بیشتر هست و توی benchmarking ها این ثابت شده. البته سه مزیت خیلی بزرگی که mysqli نسبت به mysql داره . یکی OOP بودن هست دیگری پشتیبانی از mysqli_multi_query هست و سوم استفاده از ابزارهای بیشتر جهت کنترل sql .
    مثلا چه جور سرعتش بیشتر میشه!!! جفتشون که به یه طریق به mysql متصل میشن یا شاید من نمی دونم و با هم فرق می کنند.
    پیشنهاد می کنم در پروژه هاتون از PHP Data Object یا همون PDO استفاده کنید
    منابع فارسی نداره ، در ضمن چه نیازی به استفاده از PDO است ، ما که فقط با دیتابیس mysql کار داریم نه دیگر دیتابیس ها!
    جواب این سوال خیلی برام مهمه ، چون هرکی یه نظری میده ، لطفا یه نظر قاطع و ثابت شده بدهید.
    ممنون از نظرات همه ی دوستان

  21. #21
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    ن حرف شما صحیح نیست mysqli برای php>5 و mysql>4.1 هستش و باید اکتنشن مربوط رو در فایل php.ini فعال کرده باشن
    دوست عزیز ! کجای حرف من صحیح نیست ؟
    جوابتون را یکبار بخونید ! ، من روی خیلی از هاستینگ ها با php5 دیدم که mysqli را فعال نکردن و دلیلش هم این نیست که بده یا مشکلی داره ! دلیلش اینه که کمتر استفاده شده ! ولی pdo بخاطر بعضی مسائل خیلی محبوب هستش !

    که در ورژن های جدید php بصورت پیشفرض فعال هست
    اخرین نسخه ای که من حدود 2 ماه پیش از php.net گرفتم توی php.ini به صورت پیش فرض هیچ extension حتی mysql هم فعال نیست ! البته یادتون باشه که 3 نسخه php.ini توی پکیجش وجود داره ! وای به حال اون مدیر هاستینگی که php.ini خودش را بهینه نکنه و extension های الکی را فعال کنه ! شما این حرف را نزنید وقتی بیش از 50% هاستینگ ها (البته خیلی بیش از 50%) هنوز از php به صورت safe mode استفاده میکنند که خیلی قابلیتها را میندازه !

    به هر حال mysqli یک extension شناخته شده هستش و با درخواست معمولا فعال مبشه ! اما کجای حرف من اشتباه بود را من نفهمیدم ! در صورتی که پیش فرض فعال بودن mysqli extension خیلی اشتباه هستش ! و احتمالا شما package خودتون را از php.net نگرفتین یا package دستکاری شده بوده یا توی یکی دو ماه اخیر تصمیمشون عوض شده !
    آخرین ویرایش به وسیله Unique : یک شنبه 08 آبان 1390 در 01:54 صبح

  22. #22
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    اکتنشن mysql تقریبا قدیمی شده
    چیزی با مضمون قدیمی وجود نداره و قصد حذفش هم وجود نداره وگرنه توی حالت strict با Notice مربوط به php مواجه میشدین !

    در ضمن چه نیازی به استفاده از PDO است ، ما که فقط با دیتابیس mysql کار داریم نه دیگر دیتابیس ها
    خوب یکی از دلایلش همینه که دوستان زیاد باهاش کار نکردن و به زبان فارسی نیست ! دوست عزیز اگه بخوای برای هر چیزی منتظر فارسیش باشی که وا ویلا ! یکی از بهترین امکاناتی که mysqli و pdo دارن ولی mysql نداره ! Prepared Statements هستش که سرعت اجرای query های تکراری را به شدت افزایش میده !
    Multi Query هم کم چیزی نیست ! تا حالا نیاز بهش نداشتی اما اگه نیاز پیدا کنی و بخوای با mysql کار کنی ! دیوانت میکنه !!!!!! به این فکر کن چرا باید mysqli را بنویسن و به قول شما function هاش کمتر باشه (که بعید میدونم) ؟؟

  23. #23
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام
    با تشکر از شما ، اما چرا بقیه دوستان نیز نظرشون رو اعلام نمی کنند یا حداقل کاری که خودشون کردن!
    قسمتی از این سوال از آقای شهرکی سوال شده بود، اما متاسفانه هنوز جوابی دریافت نکردیم.
    پس چرا سیستم های مدیریت محتوایی چون وردپرس ، جوملا ، ویبولتین و... از مجموعه توابع mysql استفاده می کنند ، من یه نگاهی به راهنمای توابع php انداختم ، تعداد توابع برای mysql بیشتر از mysqli است، چرا؟
    سوال بالا نیز که بسیار مهم تر از دیگر سوالات است ،تاکنون بی جواب باقی مانده است...
    به قول شما function هاش کمتر باشه (که بعید میدونم) ؟؟
    یه نگاه به هلپ پی اچ پی بیاندازید.

  24. #24

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    فكر نميكنم كسي از من سؤال پرسيده باشه. تا جايي كه ميدونم بحث اينجا بين همه اعضا بود و سؤال مستقيمي پرسيده نشده كه بخوام نظرم رو بگم ولي حقيقتش من خودم شخصاً از همون mysql استفاده ميكنم چون كار من رو راه ميندازه و اگه نياز به كار پيچيده تري داشته باشم، شخصاً PDO رو ترجيح ميدم.

  25. #25
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام
    ممنون از شما ؛ دوستان دیگر هم که چند پیرن بیش تر پاره کردند ، نظرشون رو اعلام کنند.
    اگه نياز به كار پيچيده تري داشته باشم، شخصاً PDO رو ترجيح ميدم.
    مزیتی دارد ، (به جز متصل شدن به دیتابیس های مختلف) ، چگونه باید ازش استفاده کنیم.

  26. #26

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    PDO سرتاپاش مزيته كه اتصال به ديتابيسهاي مختلف، فقط يكي از اونها هست و البته مزيت كمي هم نيست اما امكانات خيلي زيادي هم در اختيارتون ميگذاره كه توضيحش طولاني هست و پيشنهاد ميكنم به مستندات PHP رجوع كنيد.

  27. #27
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    پس چرا سیستم های مدیریت محتوایی چون وردپرس ، جوملا ، ویبولتین و... از مجموعه توابع mysql استفاده می کنند
    چند تا دلیل داره ! اولا اینکه اینها میخوان حتما php4 ا پشتیبانی کنند ! ثانیا اینکه برای تغییر باید بیش از 70 یا 80 درصد کدهاش تغییر کند که خودش زمان ، نیروی انسانی ، آموزش ، باگ گیری و غیره میطلبه ! ثالثاخیلی از کاربران قبلی نمیتونن از mysqli یا pdo استفاده کنند و بلد نیستن و ریزش مخاطب خواهد داشت !
    ولی دلیل نمیشه که Mysql و mysqli در یک حد هستند

    تعداد توابع برای mysql بیشتر از mysqli است، چرا؟
    تعداد توابع هیچ اهمیتی نداره اون چیزهایی که لازمه را داراست ! مطالب پایین اهمیت داره :

    1 - mysqli از Prepared Statements و امکانات جدید MYSQL5 بهره میبره که mysql کاملا بی بهره هستش
    2 - میشه با تابع مربطش چند تا دستور SQL را با هم اجرا کرد ولی mysql فقط دستورات تکی میگیره !
    3 - یک تابع داره به نام send_long_data که میشه باهاش Blob های حجیم را پشتیبانی کرد که mysql نمیتونه !
    4 - از Php6 قرار نیست mysql همراه با Package اصلی ارائه بشه و اگه کسی بخواد باید خودش این extension را نصب کنه !

  28. #28
    کاربر دائمی آواتار armsoftpc
    تاریخ عضویت
    آذر 1389
    محل زندگی
    خونه ی پسر شجاع (تهران)
    پست
    379

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    به نام خدا
    با سلام
    اما امكانات خيلي زيادي هم در اختيارتون ميگذاره كه توضيحش طولاني هست و پيشنهاد ميكنم به مستندات PHP رجوع كنيد.
    خوندن متن های انگلیسی یکم برام سخت و وقت گیره ، اگه لطف کنید فقط بگید چه جوری باید ازش استفاده کنیم.
    1 - mysqli از Prepared Statements و امکانات جدید MYSQL5 بهره میبره که mysql کاملا بی بهره هستش
    2 - میشه با تابع مربطش چند تا دستور SQL را با هم اجرا کرد ولی mysql فقط دستورات تکی میگیره !
    3 - یک تابع داره به نام send_long_data که میشه باهاش Blob های حجیم را پشتیبانی کرد که mysql نمیتونه !
    4 - از Php6 قرار نیست mysql همراه با Package اصلی ارائه بشه و اگه کسی بخواد باید خودش این extension را نصب کنه !
    دلایل خوبی است و کمال تشکر رو از شما دارم.
    اگه لطف کنید ، چند تا تابع که با اون متن رو فیلتر کنیم ( برای ذخیره در پایگاه داده ) رو نام ببرید و یه توضیح مختصری بدید.
    چون همانطور که میدانید mysqli از mysql_escape_string پشتیبانی نمی کنه ، تابع مشابهش چیه؟!
    در ضمن کار توابع زیر رو میدونم و لازم به توضیح دادن نداره:
    strip_tags
    stripslashes ,....

  29. #29
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: فرق مجموعه تابع Mysql با Mysqli

    تابع مشابهش : real_escape_string هستش !
    در ضمن اگه از Parametrized Query ها استفاده کنین SQL Injection را تقریبا غیر ممکن میکنید !

    یه نمونه کد :

    $db = new mysqli(<database connection info here>);
    $name = "michael";
    $age = 20;

    $stmt = $db->prepare("SELECT * from tbl WHERE name = ? AND age = ?");
    $stmt->bind_param("si", $name, $age);
    $stmt->execute();


    در اینجا مقادیر را شما به صورت پارامتر میدین و در این حالت نیازی به escape کردن هم نیست !

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •