MySQLI in PHP
MySQLI in PHP
قائمة المصطلحات والتعريفات:
المقدمة:
هو تحسين لمكتبة MySQLI القديمة في PHP, يقدم أدوات وطرق اكثر امانا.
تهدف هذه المقالة إلى توضيح مفهوم MySQLI في PHP وكيفية استخدامه
ما هو MySQLI؟
هي واجهة برمجة التطبيقات API توفر لنا التعامل مع قواعد بيانات MYSQL
إعداد MySQLI
يجب التأكد أولا من أن المكتبة متوفر في PHP عن طريق كتابة دالة
phpinfo()
أو من خلال ملف php.ini
إجراء عمليات CRUD باستخدام MySQLI
أولا نحتاج إلى إنشاء جدول
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// التحقق من نجاح الاتصال
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// إنشاء جدول
$sql = "CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstName VARCHAR(30) NOT NULL,
lastName VARCHAR(30) NOT NULL,
email VARCHAR(50),
)";
// تنفيذ الإستعلام والتحقق من نجاحه أو فشله
if ($mysqli->query($sql) === TRUE) {
echo "Table Users created successfully";
} else {
echo "Error creating table: " . $mysqli->error;
}
$mysqli->close();
بعد إنشاء الجدول نحتاج إلى إضافة بيانات:
// إنشاء اتصال بقاعدة البيانات
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// التحقق من نجاح الاتصال
if ($mysqli->connect_error) {
die("فشل الاتصال: " . $mysqli->connect_error);
}
// تحضير الاستعلام لإضافة بيانات
$stmt = $mysqli->prepare("INSERT INTO Users (firstName, lastName, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
// bind_param("sss", ...) تعني انه سيتم دمج 3 متحولات من نوع string
// تعيين القيم
$firstname = "Muhmad";
$lastname = "Omar";
$email = "muhmad@omar.com";
$stmt->execute();
echo "تم إنشاء سجلات جديدة بنجاح";
// إغلاق الاستعلام والاتصال بقاعدة البيانات
$stmt->close();
$mysqli->close();
قراءة البيانات
$mysqli = new mysqli("localhost", "username", "password", "database_name");
if ($mysqli->connect_error) {
die("فشل الاتصال: " . $mysqli->connect_error);
}
// قراءة البيانات
$sql = "SELECT id, firstname, lastname FROM Users";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
// عرض البيانات
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - الاسم: " . $row["firstName"]. " " . $row["lastName"]. "<br>";
}
} else {
echo "لا توجد نتائج";
}
$mysqli->close();
تحديث البيانات:
$mysqli = new mysqli("localhost", "username", "password", "database_name");
if ($mysqli->connect_error) {
die("فشل الاتصال: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("UPDATE Users SET email=? WHERE id=?");
$stmt->bind_param("si", $email, $id);
// تعيين القيم وتحديث البيانات
$email = "new.muhmad@omar.com";
$id = 1;
$stmt->execute();
echo "تم تحديث السجل بنجاح";
$stmt->close();
$mysqli->close();
الحذف
$mysqli = new mysqli("localhost", "username", "password", "database_name");
if ($mysqli->connect_error) {
die("فشل الاتصال: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("DELETE FROM Users WHERE id=?");
$stmt->bind_param("i", $id);
$id = 1;
$stmt->execute();
echo "تم حذف السجل بنجاح";
$stmt->close();
$mysqli->close();
التعامل مع الأخطاء
من المهم التعامل مع الأخطاء عند استخدام MySQLI. يمكن استخدام الدالة
mysqli->error
للحصول على تفاصيل الخطأ في حال حدوث مشكلة
مثال:
if ($mysqli->query($sql) === True) {
echo "تم إنشاء جدول Users بنجاح";
} else {
// التعامل مع الأخطاء في حال فشل الاستعلام
echo "خطأ في إنشاء الجدول: " . $mysqli->error;
}
المراجع
ليست هناك تعليقات: