عرض مشاركة واحدة
قديم 19-10-2019, 10:58 AM   رقم المشاركة : 1
ملك الفضائيات
مشرف منتديات فنان سات
 
الصورة الرمزية ملك الفضائيات





ملك الفضائيات متواجد حالياً

ملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond reputeملك الفضائيات has a reputation beyond repute

Awt6مقارنة بين قواعد البيانات بانظمة PDO أو MySQLi
Bookmark and Share

للإرتقاء بمنتديات فنان سات ساهم معنا فى نشر الموضوع على الفيس بوك من هنا

مقارنة بين قواعد البيانات بانظمة PDO أو MySQLi
---------------------------------------


طبعًا بعد ما قررت الPHP حذف دوال الMySQL للتعامل مع قواعد البيانات ، بقي عندنا طريقتين عشان نتعامل مع قواعد البيانات ، إما عن طريق PDO أو mysqli .

قبل انك تقرر هتتعلم انهي لازم تشوف المقارنة دي علشان تقدر تشوف انهي المناسبة ليك .

_____________________________________

اولاً : مقارنة بسيطة :

دعم قواعد البيانات :
PDO : تدعم 12 نوع مختلف.
MySQLi : تدعم الMySQL فقط .

طريقة التعامل :
PDO : كلاس الPDO
MySQLi : كلاس الMySQLi أو دوال الMySQLi

السرعة :
PDO : سريعة.
MySQLi : سريعة .

_____________________________________________

ثانيًا : مقارنة دقيقة مع امثلة :

طريقة الاتصال بقاعدة البيانات :
رمز PHP:
// PDO
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');

// mysqli, عن طريق الدوال
$mysqli = mysqli_connect('localhost','username','password','database');

// mysqli, عن طريق الكلاس
$mysqli = new mysqli('localhost','username','password','database');

دعم قواعد البيانات :
مقارنة قواعد البيانات بانظمة MySQLi

الاستعلام و جلب النتائج :
رمز PHP:
$query = "SELECT * FROM users";

// PDO
$result = $pdo->query($query);

while (
$user = $result->fetch(PDO::FETCH_CLASS)) {
// echo $user->Here a column;
}
// MySQLI, عن طريق الدوال
if ($result = mysqli_query($mysqli, $query)) {
while (
$user = mysqli_fetch_object($result, 'User')) {
// echo $user->Here a column;
}
}
// MySQLi, عن طريق الكلاس
if ($result = $mysqli->query($query)) {
while (
$user = $result->fetch_object('User')) {
// echo $user->Here a column;
}
}

الحماية :
رمز PHP:
// PDO, escaping

$username = PDO::quote($_GET['username']);

$pdo->query("SELECT * FROM users WHERE username = $username");

// mysqli, escaping
$username = mysqli_real_escape_string($_GET['username']);

$mysqli->query("SELECT * FROM users WHERE username = '$username'");

الPDO::quote تعمل escaping للنص و تضع علامات الاقتباس حوله ، اما mysqli_real_escape_string تستعمل للescaping فقط .

فيه طريقة تانية وهي :
رمز PHP:
// PDO
$pdo->prepare('SELECT * FROM users WHERE username = :username');
$pdo->execute(array(':username' => $_GET['username']));

// mysqli
$query = $mysqli->prepare('SELECT * FROM users WHERE username = ?');
$query->bind_param('s', $_GET['username']);
$query->execute();

في الPDO تقدر تستخدم الطريقة دي برضو :
رمز PHP:
// PDO
$pdo->prepare('SELECT * FROM users WHERE username = :username');
$pdo->bindValue(':username',$_GET['username'],PDO::PARAM_STR);
$pdo->execute();




منقول للفائدة


البحث

فنان سات , جامعة الفضائيات العربية , اكبر منتدى فضائي , اقوى سيرفر شيرنج ,كروت ستالايت , خدمات مجانية , قنوات فضائية , ترددات حديثة ,سيرفرات مجانيه.





lrhvkm fdk r,hu] hgfdhkhj fhk/lm PDO H, MySQLi hgfdhkhj fhk/lm mysqli







    شكراً رد مع اقتباس
أعضاء قالوا شكراً لـ ملك الفضائيات على المشاركة المفيدة: