تخزين البيانات في MySQL
بعد إنشاء قاعدة البيانات , و إنشاء الجدول بالأعمدة بنجاح ، نستطيع الآن تخزين البيانات بواسطة PHP.
في PHP نستطيع تخزين البيانات داخل الجدول بواسطة إستخدام جملة INSERT INTO عند بناء جملة SQL.
مثال على جملة INSERT INTO المستخدمة لإضافة سجلات جديدة لجدول داخل قاعدة البيانات:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
عند بناء جملة SQL يوجد بعض القوانين الواجب إتباعها نلخصها بالتالي:
- عند بناء جملة SQL يجب ان تكون بين علامتي الإقتباس.
- القيم النصية داخل جملة SQL يجب ان تكون داخل علامتي الإقتباس.
- القيم العددية يجب ان لا تكتب داخل علامتي الإقتباس.
- كلمة NULL يجب ان لا تكتب داخل علامتي الإقتباس.
بالدرس السابق قمنا بإنشاء جدول باسم users وبداخله 4 أعمده كالتالي:
- id
- name
- date
وبدرس اليوم سنقوم بإضافة بيانات جديدة داخل هذا الجدول.
ملاحظة: بعض الأعمدة لاتحتاج تزويدها بقيم عند إضافة سجل جديد ، و السبب ان MySQL ستقوم بتزويد هذه القيم لك ، مثلا: عند تعريف عمود على انه AUTO_INCREMENT فإن MySQL ستقوم بزيادة قيمة هذا الحقل مباشرة بواحد عند إضافة سجل جديد داخل الجدول ، و أيضا عند تعريف عمود على أنه من النوع TIMESTAMP فإن MySQL ستقوم بتزويد التاريخ والوقت مباشرة عند اضافة سجل جديد للجدول.
تخزين البيانات:
الآن سوف نستعرض الأمثلة لإضافة سجل جديد داخل الجدول users كالتالي:
مثال على MySQLi Object-oriented:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "new-DB";
// إجراء الإتصال
$conn = new mysqli($servername, $username, $password, $dbname);
// التحقق من الإتصال
if ($conn->connect_error) {
die("فشل الإتصال: " . $conn->connect_error);
}
// لتخزين البيانات بالجدول sql بناء
$sql = "INSERT INTO users (name, email) VALUES ('Ali', '[email protected]')";
// تنفيذ الإستعلام
if ($conn->query($sql) === TRUE) {
echo "تم اضافة سجل البيانات بنجاح";
} else {
echo "خطأ: " . $sql . "<br>" . $conn->error;
}
// إغلاق الإتصال
$conn->close();
كما في الأمثلة السابقة قمنا بعملية الإتصال ، ثم قمنا ببناء جملة SQL ، و بعدها قمنا بتنفيذ الإستعلام بقاعدة البيانات ؛ لنحصل على الرد بنجاح او فشل العملية.
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
مثال على MySQLi Procedural:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "new-DB";
// إجراء الإتصال
$conn = mysqli_connect($servername, $username, $password, $dbname);
// التحقق من الإتصال
if (!$conn) {
die("فشل الإتصال: " . mysqli_connect_error());
}
// لتخزين البيانات بالجدول sql بناء
$sql = "INSERT INTO users (name, email) VALUES ('Ali', '[email protected]')";
// تنفيذ الإستعلام
if (mysqli_query($conn, $sql)) {
echo "تم اضافة سجل البيانات بنجاح";
} else {
echo "خطأ: " . $sql . "<br>" . mysqli_error($conn);
}
// إغلاق الإتصال
mysqli_close($conn);
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
مثال على PDO:
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "new-DB";
try {
// إجراء الإتصال
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// تعديل نوع معالج الأخطاء
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// لإنشاء جدول sql بناء
$sql = "INSERT INTO users (name, email) VALUES ('Ali', '[email protected]')";
// لتنفيذ الإستعلام لانه لن يكون هناك نتائج من عملية التنفيذ exec() نستخدم
$conn->exec($sql);
echo "تم اضافة سجل البيانات بنجاح";
}
catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
// إغلاق الإتصال
$conn = null;
عند عمل الكود بالمتصفح بنجاح سيكون الناتج كالتالي:
محتوى الدورة
الكلمات الدليلية
عن الدرس
1 إعجاب |
0 متابع |
0 مشاركة |
13064 مشاهدات |
منذ 8 سنوات |
التعليقات (0)
عرض المزيد.. جديد دوراتي
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !