كيفية تنفيذ عمليات البحث والاستعلامات في PHP
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 27 ديسمبر 2024محتوى المقال
- الاتصال بقاعدة بيانات MySQL باستخدام PHP
- تنفيذ عمليات البحث والاستعلامات باستخدام MySQLi
- تنفيذ عمليات البحث والاستعلامات باستخدام PDO
- التعامل مع الأخطاء أثناء تنفيذ الاستعلامات
- إغلاق الاتصال بقاعدة البيانات
- الخلاصة
تُعتبر عمليات البحث والاستعلامات من أهم المهام عند التعامل مع قواعد بيانات MySQL في تطبيقات الويب. باستخدام PHP، يمكنك تنفيذ استعلامات مختلفة للبحث عن البيانات أو استرجاعها بطرق متعددة. في هذا المقال، سنتعرف على كيفية تنفيذ عمليات البحث والاستعلامات في PHP مع أمثلة عملية باستخدام MySQLi وPDO.
الاتصال بقاعدة بيانات MySQL باستخدام PHP
قبل أن نتمكن من تنفيذ عمليات البحث والاستعلامات، يجب أولاً الاتصال بقاعدة البيانات. يمكننا القيام بذلك باستخدام MySQLi أو PDO. المثال التالي يوضح كيفية الاتصال بقاعدة البيانات باستخدام MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
# إنشاء اتصال بقاعدة البيانات
$conn = new mysqli($servername, $username, $password, $dbname);
# التحقق من الاتصال
if ($conn->connect_error) {
die("فشل الاتصال: " . $conn->connect_error);
}
echo "تم الاتصال بقاعدة البيانات بنجاح";
?>
تنفيذ عمليات البحث والاستعلامات باستخدام MySQLi
يمكنك تنفيذ عمليات البحث والاستعلامات باستخدام MySQLi بإحدى الطريقتين: الطريقة الإجرائية أو البرمجة الكائنية. سنوضح هنا كيفية تنفيذ استعلام SQL للبحث عن بيانات المستخدمين باستخدام الطريقة الإجرائية:
<?php
# إعداد استعلام SQL
$sql = "SELECT id, username, email FROM users WHERE username LIKE '%John%'";
# تنفيذ الاستعلام
$result = $conn->query($sql);
# التحقق من وجود نتائج
if ($result->num_rows > 0) {
# عرض النتائج
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row['id'] . " اسم المستخدم: " . $row['username'] . " البريد الإلكتروني: " . $row['email'] . "
";
}
} else {
echo "لم يتم العثور على نتائج";
}
?>
تنفيذ عمليات البحث والاستعلامات باستخدام PDO
PDO هو خيار آخر لتنفيذ عمليات البحث والاستعلامات. يتيح لك PDO استخدام العبارات المجهزة (Prepared Statements) والتي تساعد في حماية تطبيقك من هجمات SQL Injection. في المثال التالي، سنوضح كيفية تنفيذ استعلام بحث باستخدام PDO:
<?php
# إعداد الاتصال بقاعدة البيانات باستخدام PDO
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
# إعداد نمط الخطأ
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
# إعداد العبارة المجهزة
$stmt = $conn->prepare("SELECT id, username, email FROM users WHERE username LIKE :searchTerm");
# ربط المعاملات
$searchTerm = '%John%';
$stmt->bindParam(':searchTerm', $searchTerm, PDO::PARAM_STR);
# تنفيذ العبارة
$stmt->execute();
# جلب النتائج
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
# عرض النتائج
if (count($result) > 0) {
foreach ($result as $row) {
echo "ID: " . $row['id'] . " اسم المستخدم: " . $row['username'] . " البريد الإلكتروني: " . $row['email'] . "
";
}
} else {
echo "لم يتم العثور على نتائج";
}
} catch (PDOException $e) {
echo "خطأ: " . $e->getMessage();
}
?>
التعامل مع الأخطاء أثناء تنفيذ الاستعلامات
من المهم التعامل مع الأخطاء المحتملة أثناء تنفيذ الاستعلامات لضمان استقرار التطبيق. سواء كنت تستخدم MySQLi أو PDO، يمكن استخدام الكتل الشرطية if
أو try-catch
للتحقق من نجاح الاستعلام والتعامل مع أي أخطاء قد تحدث.
إغلاق الاتصال بقاعدة البيانات
بعد الانتهاء من تنفيذ الاستعلامات، من المهم إغلاق الاتصال بقاعدة البيانات لتحرير الموارد. في MySQLi، يتم إغلاق الاتصال باستخدام mysqli_close()
، بينما في PDO يتم ذلك بإسناد null
إلى متغير الاتصال.
<?php
# إغلاق الاتصال بقاعدة البيانات في MySQLi
mysqli_close($conn);
# إغلاق الاتصال بقاعدة البيانات في PDO
$conn = null;
?>
الخلاصة
تنفيذ عمليات البحث والاستعلامات في PHP هو جزء أساسي من تطوير تطبيقات الويب الديناميكية. سواء كنت تستخدم MySQLi أو PDO، يمكنك تنفيذ استعلامات فعّالة وآمنة للوصول إلى البيانات المطلوبة من قاعدة بيانات MySQL. تأكد دائمًا من التعامل مع الأخطاء بشكل صحيح وإغلاق الاتصال بقاعدة البيانات بعد الانتهاء لضمان أداء مستقر وفعّال لتطبيقك.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- استخدام PDO و MySQLi للتعامل مع قواعد البيانات في PHP
- أفضل الممارسات لحماية تطبيقات PHP
- كيفية حماية البيانات باستخدام تشفير PHP
- حماية الجلسات (Sessions) في PHP من الاختطاف
- كيفية حماية النماذج (Forms) من الهجمات في PHP
- التعامل مع هجمات CSRF في PHP
- استخدام HTTPS و SSL في تطبيقات PHP
- كيفية التعامل مع هجمات XSS في PHP
- استخدام الحزم الأمنية في PHP
- كيفية فحص الثغرات في تطبيقات PHP