إنشاء قاعدة بيانات MySQL
نستطيع في PHP إنشاء قاعدة بيانات جديدة في MySQL بإستخدام جملة CREATE DATABASE عند بناء جملة SQL.
ملاحظة: عند بناء جملة SQL مهم جدا تحديد نوع الترميز الإفتراضي لقاعدة البيانات التي نرغب بإنشائها ؛ فهي مهمة لدعم اللغة العربية ويجب ان يكون الترميز من نوع utf-8 بتحديد الترميز الإفتراضي جميع الجداول والتي سوف تقوم بانشائها بقاعدة البيانات سوف تدعم تخزين البيانات باللغة العربية سوف نستخدم DEFAULT CHARACTER SET utf8 و DEFAULT COLLATE utf8_general_ci عند بناء جملة SQL لتحديد نوع الترميز.
ملاحظة: عند الإتصال بقاعدة البيانات ، و نرغب بإنشاء أو حذف قاعدة بيانات نحتاج إلى صلاحيات خاصة للإنشاء أو الحذف تسمى CREATE privileges ، اذا كنت تستخدم سيرفر محلي فغالب الضن انك سوف تستخدم المستخدم root ، و الذي لديه صلاحية كاملة لجميع قواعد البيانات ، و لكن اذا كنت على استضافة تاكد من انشاء مستخدم جديد وربطه بقاعدة البيانات بالصلاحيات المطلوبة لتنفيذ مختلف المهام.
إنشاء قاعدة بيانات MySQL:
في هذه الأمثلة سنقوم بإنشاء قاعدة بيانات جديدة باسم new-DB ، و سوف نستخدم هذه القاعدة في جميع دروس السلسلة لنوضح طرق التعامل مع قواعد البيانات.
مثال على MySQLi Object-Oriented:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// إجراء الإتصال
$conn = new mysqli($servername, $username, $password);
// التحقق من الإتصال
if ($conn->connect_error) {
die("فشل الإتصال: " . $conn->connect_error);
}
// إنشاء قاعدة البيانات
$sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci";
if ($conn->query($sql) === TRUE) {
echo "تم إنشاء قاعدة البيانات بنجاح";
} else {
echo "فشل إنشاء قاعدة البيانات: " . $conn->error;
}
// إغلاق الإتصال
$conn->close();
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا conn->query$ لتنفيذ عملية الإستعلام بقاعدة البيانات بداخل دالة الشرط if ، و في حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، و العكس في حالة الفشل سوف يتم طباعة رسالة بفشل العملية مع عرض الخطأ باستخدام conn->error$ ثم قمنا بإغلاق الإتصال بقاعدة البيانات بواسطة conn->close$ .
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
مثال على MySQLi Procedural:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// إجراء الإتصال
$conn = mysqli_connect($servername, $username, $password);
// التحقق من الإتصال
if (!$conn) {
die("فشل الإتصال: " . mysqli_connect_error());
}
// إنشاء قاعدة البيانات
$sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci";
if (mysqli_query($conn, $sql)) {
echo "تم إنشاء قاعدة البيانات بنجاح";
} else {
echo "فشل إنشاء قاعدة البيانات: " . mysqli_error($conn);
}
// إغلاق الإتصال
mysqli_close($conn);
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا الدالة mysql_query لتنفيذ عملية الإستعلام بقاعدة البيانات بداخل دالة الشرط if ، و في حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، و العكس في حالة الفشل سوف يتم طباعة رسالة بفشل العملية مع عرض الخطأ باستخدام الدالة mysql_error ثم قمنا بإغلاق الإتصال بقاعدة البيانات بواسطة الدالة mysql_close.
ملاحظة: عند إستخدام MySQLi لإنشاء قاعدة بيانات جديدة يجب ان تقوم بإدخال أول ٣ مدخلات فقط وهم عبارة عن عنوان السيرفر ، اسم المستخدم ، الرقم السري فقط
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
مثال على PDO:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "3alampro-mysql";
try {
// إجراء الإتصال
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// تعديل نوع معالج الأخطاء
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// إنشاء قاعدة البيانات
$sql = "CREATE DATABASE `new-DB` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci";
// لتنفيذ الإستعلام لانه لن يكون هناك نتائج من عملية التنفيذ exec() نستخدم
$conn->exec($sql);
echo "تم إنشاء قاعدة البيانات بنجاح<br>";
}
catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
// إغلاق الإتصال
$conn = null;
لاحظ: في هذا المثال بعد اجراء الإتصال بقاعدة البيانات بنجاح وتخزينه في المتغير conn$ ، قمنا ببناء جملة SQL وتخزينها بالمتغير sql$ ، ثم استخدمنا conn->exec$ لتنفيذ عملية الإستعلام بقاعدة البيانات وفي حالة تحقق الإستعلام بنجاح سوف يتم طباعة رسالة بنجاح العملية ، لاحظ ايضا اننا قمنا بتنفيذ الكود داخل {}try{} catch ، بحيث انه سوف يتم تنفيذ محتوى try بالكامل ، و لكن في حالة وجود اي خطأ بالتنفيذ سوف يتم ايقاف عمل الكود وتعمل catch بالقبض على الخطا وعرضه بواسطة e->getMessage جدا مفيدة للتعامل مع الأخطاء في البرمجة الكائنية ، و تدعمها PDO بشكل كامل.
ملاحظة: على عكس MySQLi ، عند إستخدام PDO لإنشاء قاعدة بيانات جديدة يجب ان تقوم بتحديد إسم قاعدة بيانات فعالة ، وقابلة للإتصال بالإضافة الى عنوان السيرفر ، واسم المستخدم ، و الرقم السري؛ ليتم الإتصال بدون مشاكل ، وبعدها تستطيع إنشاء قاعدة بيانات جديدة ، في هذا المثال انا قمت مسبقا بانشاء قاعدة بيانات 3alampro-mysql ، و استخدامها بهذا المثال لتوضيح طريقة تنفيذ هذا النوع من العمليات.
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
محتوى الدورة
الكلمات الدليلية
عن الدرس
0 إعجاب |
1 متابع |
0 مشاركة |
18940 مشاهدات |
منذ 8 سنوات |
عرض المزيد.. جديد دوراتي
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !