كيفية استخدام وحدة MySQL (MariaDB) المدمجة في ServBay
كأداة متكاملة وقوية لتطوير الويب، يأتي ServBay مزودًا بوحدة MySQL، وتفعيلها سهل جدًا. MariaDB هي فرع من MySQL، وهي متوافقة تمامًا مع MySQL وتستخدم بشكل واسع في تطوير الويب الحديث. من خلال ServBay، يمكن للمطورين تفعيل وحدة MySQL بسهولة لاستخدام MariaDB في تطبيقات PHP لتخزين وإدارة البيانات.
الفرق بين MySQL و MariaDB
MySQL و MariaDB كلاهما نظام إدارة قواعد بيانات علاقة (RDBMS) شائع، ولكن يوجد بينهما بعض الاختلافات:
المصدر:
- MySQL: تم تطويره من قبل شركة MySQL AB، ثم تم استحواذه من قبل Sun Microsystems، وأخيرًا تم استحواذه من قبل Oracle.
- MariaDB: تم إنشاؤه من قبل Michael Widenius، مؤسس MySQL، كفرع من MySQL بهدف الحفاظ على المصادر المفتوحة والحرية.
التوافق:
- MySQL: يستخدم على نطاق واسع، تعتمد عليه العديد من التطبيقات الكبيرة وأنظمة المؤسسات.
- MariaDB: متوافقة تمامًا مع MySQL، ويمكن استخدام معظم وظائف MySQL ونحوياها في MariaDB.
الأداء والميزات:
- MySQL: في بعض السيناريوهات المحددة، قد تقدم MySQL تحسينات وأداء أفضل.
- MariaDB: بفضل دعم مجتمع المصادر المفتوحة، جلبت MariaDB العديد من الميزات والتحسينات الجديدة، مثل تجمع الخيوط الأفضل والأعمدة الافتراضية ومحركات التخزين.
إصدارات وحدة MySQL (MariaDB) المدمجة في ServBay
يدعم ServBay العديد من إصدارات PHP، ولكل إصدار يتم تثبيت وتفعيل وحدة MySQL المناسبة افتراضيًا. بشكل خاص، يأتي ServBay مزودًا بثلاث وحدات MySQL التالية:
- MySQL Native Driver (mysqlnd): برنامج تشغيل محلي لـ PHP للتواصل مع قاعدة بيانات MySQL، يوفر أداء وإدارة ذاكرة أفضل.
- MySQLi: تحسين امتداد MySQL يوفر واجهات موجهة للكائنات والإجراءات، يدعم البيانات المحسنة، المهام الإجراءات المخزنة والاستعلامات المتعددة.
- PDO (PHP Data Objects): واجهة وصول إلى قاعدة البيانات خفيفة الوزن وموجهة للكائنات، تدعم العديد من قواعد البيانات بما في ذلك MySQL و PostgreSQL و SQLite وغيرها.
كيفية تفعيل وحدة MySQL
بصورة افتراضية، يتم تفعيل وحدة MySQL، ولا حاجة لتكوينات إضافية.
الفرق بين وحدات MySQL الثلاث
MySQL Native Driver (mysqlnd):
- مقدمة: mysqlnd هو برنامج تشغيل محلي لـ PHP للتواصل مع قاعدة بيانات MySQL.
- الميزات: يوفر أداء وإدارة ذاكرة أفضل، وهو برنامج التشغيل الافتراضي في إصدارات PHP 5.3 وفوق.
- الفوائد: استخدام ذاكرة أكثر كفاءة، تنفيذ استعلامات أسرع، دعم الاستعلامات غير المتزامنة وقدرة التمديد القائمة على المكونات الإضافية.
MySQLi:
- مقدمة: تحسين امتداد MySQL (MySQLi) هو امتداد محسن لـ MySQL يوفر واجهة موجهة للكائنات والإجراءات.
- الميزات: يدعم البيانات المحسنة، المهام، الإجراءات المخزنة والاستعلامات المتعددة.
- الفوائد: تنفيذ استعلامات أكثر أمانًا (منع حقن SQL)، ميزات أكثر غنى وأداء أفضل.
PDO (PHP Data Objects):
- مقدمة: PDO هو واجهة وصول إلى قاعدة البيانات خفيفة الوزن وموجهة للكائنات، يدعم العديد من قواعد البيانات بما في ذلك MySQL و PostgreSQL و SQLite وغيرها.
- الميزات: يوفر واجهة API موحدة، دعم الاستعلامات المحسنة والمهام.
- الفوائد: التوافق عبر قواعد البيانات، تنفيذ استعلامات أكثر أمانًا (منع حقن SQL) وكود أكثر بساطة.
استخدام MySQL في كود PHP
بعد تفعيل وحدة MySQL، يمكن استخدام MySQLi أو PDO في كود PHP لإجراء عمليات قواعد البيانات. فيما يلي مثالان بسيطان، أحدهما باستخدام طريقة MySQLi القياسية والآخر باستخدام طريقة PDO.
مثال للكود (طريقة MySQLi القياسية)
<?php
// الاتصال بقاعدة بيانات MariaDB
$conn = new mysqli('localhost', 'servbay_user', 'your_password', 'servbay_db');
// التحقق من الاتصال
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// إدخال بيانات
$sql = "INSERT INTO users (name, email, age) VALUES ('ServBay', '[email protected]', 30)";
if ($conn->query($sql) === TRUE) {
echo "Data inserted successfully";
} else {
echo "Error in inserting data: " . $conn->error;
}
// استعلام البيانات
$sql = "SELECT * FROM users WHERE name = 'ServBay'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Queried data: ";
print_r($row);
}
} else {
echo "No results found";
}
// إغلاق الاتصال بقاعدة البيانات
$conn->close();
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
مثال للكود (طريقة PDO)
<?php
try {
// إنشاء مثيل PDO جديد
$dsn = 'mysql:host=localhost;dbname=servbay_db';
$username = 'servbay_user';
$password = 'your_password';
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$pdo = new PDO($dsn, $username, $password, $options);
// إدخال بيانات
$stmt = $pdo->prepare("INSERT INTO users (name, email, age) VALUES (:name, :email, :age)");
$stmt->execute([
':name' => 'ServBay',
':email' => '[email protected]',
':age' => 30
]);
echo "Data inserted successfully";
// استعلام البيانات
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->execute([':name' => 'ServBay']);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "Queried data: ";
print_r($data);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
// إغلاق الاتصال بقاعدة البيانات (سيقوم PDO بإغلاق الاتصال تلقائيًا)
?>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
الخلاصة
يقدم ServBay طريقة مريحة لإدارة وتفعيل وحدة MySQL. من خلال تهيئة بسيطة وإعادة تشغيل، يمكن للمطورين تفعيل وحدة MySQL بسرعة في إصدارات PHP المختلفة، لاستخدام MariaDB في تطبيقات PHP لتخزين وإدارة البيانات. يوفر MariaDB أداءً عاليًا وقدرة قوية على الاستعلام وتكامل البيانات مما يجعله قاعدة بيانات لا غنى عنها في تطوير الويب الحديث. مع ServBay و MariaDB، يمكن للمطورين بناء تطبيقات ويب فعالة وموثوقة.