PDA

View Full Version : گفتگو: pdo یا اتصال معمولی



matrixhassan
شنبه 12 اسفند 1391, 17:55 عصر
با سلام خدمت دوستان

من فقط برای اینکه دستور mysql_real_escape_string میخواد منسوخ بشه برای اتصال به پایگاه داده از pdo استفاده میکنم و کار کردن باهاش یه ذره سخته و من برای بعضی کارها امدم یه تابع تعریف کردم مثلا : ( اینطوری راحترم )





function Select ($query)
{
$GLOBALS['link']->exec("SET CHARACTER SET utf8");
$stmt = $GLOBALS['link']->prepare($query);
$stmt->execute();
return $parents = $stmt->fetchAll(PDO::FETCH_ASSOC);


}


مشکلی که وجود داره اینکه وقتی از تابع استفاده میکنم یه ذره محدود میشم که تا اینجا مشکلی بوجود نیموده

میخواستم نظر ، پیشنهاد و یا راههای دیگه دوستان رو در این مورد بدونم.

با تشکر

FastCode
شنبه 12 اسفند 1391, 18:06 عصر
من توی عمرم ۳ تا تابع php بیشتر ننوشتم ولی شما بعد از return یک خط دستور نوشتی.مطمئنم غلطه.

matrixhassan
شنبه 12 اسفند 1391, 18:17 عصر
بله درست میفرمایید اصلاح شد ولی موضوع یه چیز دیگه بود

matrixhassan
شنبه 12 اسفند 1391, 23:26 عصر
یعنی هیچ کس در این مورد نظر خواصی نداره ؟ :متعجب: :متفکر:

Unique
یک شنبه 13 اسفند 1391, 02:04 صبح
جالب بود ! ندیده بودم داره حذف میشه ! کلا استفاده از pdo خیلی خوبه ! mysqli هم خوبه مشکلی نداره ! یکی از مزیت های این دوتا استفاده از Prepared Statements ها هستند که بهشون parametrized queries هم میگن، این موضوع به شدت به جلوگیری از sql injection کمک میکنه و کتابخونه های خیلی بهتری نسبت به mysql هستند ! در ضمن mysqli کمی از pdo راحت تره ! نمیدونم کی تصمیم میگیرن اون را حذف کنند اما به این زودیها نخواهد بود.

matrixhassan
یک شنبه 13 اسفند 1391, 09:25 صبح
http://www.php.net/manual/en/function.mysql-real-escape-string.php

Unique
یک شنبه 13 اسفند 1391, 15:06 عصر
فکر کنم سوء تفاهم شد ! منظورم حذف mysqli بود که قطعا حالا حالا ها نیست.

codedme
یک شنبه 13 اسفند 1391, 21:59 عصر
شاید استفاده از Active record هایی که برای استفاده از PDO نوشته شده اند بتونه راه حل خوبی برای شما باشه
http://www.phpclasses.org/package/5828-PHP-Store-and-retrieve-objects-from-databases-with-PDO.html