تعتبر ODBC ( فتح الاتصال بقواعد البيانات ) واجهة لبرنامج برمجي API حيث تسمح لك بالاتصال على مصدر البيانات مثل قاعدة البيانات Access الخاصة بمايكروسوفت .
إنشاء اتصال ODBC
باستخدام اتصال ODBC يمكنك الاتصال بأي قاعدة بيانات على أي حاسوب متصل بالشبكة طالما ODBC متوفر .
الآن سنتعرف على الخطوات التي يمكن إنشاء اتصال ODBC مع قواعد البيانات MS Access :
- الضغط على أيقونة Administrative Tools في لوحة التحكم .
- النقر المزدوج على أيقونة Data Sources (ODBC).
- اختر شريط System DSN .
- اضغط على إضافة في شريط نظام DNS .
- اختر Microsoft Access Driver ثم اضغط انتهاء .
- في الشاشة المقابلة اضغط على اختيار للوصول الى قاعدة البيانات .
- تقديم اسم لقاعدة البيانات Data Source Name (DSN) .
- اضغط على OK .
لاحظ بأن التفعيل سيتم على الحاسوب في مكان الموقع المستخدم . اذا كنت تستخدم IIS على حاسوبك عندها ستعمل الخطوات السابقة أما اذا كنت تعمل على سيرفر على الانترنت عندها ستحتاج الى صلاحيات لذلك السيرفر أو يمكنك طلب الصلاحيات من مزود الخدمة Host للحصول على ضبط DNS .
الاتصال مع ODBC
تستخدم الوظيفة odbc_connect() للاتصال مع مصدر البيانات . يمكن استخدام أربع متغيرات مع الكود الوظفي اسم مصدر البيانات و username و password و نوع البيانات ( اختياري ) .
يستخدم odbc_exec() لعرض نتائج تعابير SQL .
مثال
في المثال التالي سنقوم بإنشاء اتصال DNS يسمى northwind مع اسم المستخدم وكلمة المرور ثم سيتم عرض نتيجة SQL :
$conn=odbc_connect('northwind','','');$sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
استرجاع الصفوف
يستخدم odbc_fetch_row() لاسترجاع الصفوف من الجدول .
يستخدم هذا الكود الوظيفي متغيرين وهما : محدد نتيجة ODBC و رقم الصف ( اختياري ) .
odbc_fetch_row($rs)
استرجاع الحقول من الصفوف
يستخدم odbc_result() لقراءة الحقول ويأخذ الكود متغيرين : محدد نتيجة ODBC و رقم أو اسم الصف .
يسترجع الكود التالي القيمة من الحقل الأول من صفوف الجدول :
$compname=odbc_result($rs,1);
يسترجع الكود التالي القيمة من الحقل CompanyName :
$compname=odbc_result($rs,"CompanyName");
اغلاق الاتصال ODBC
يمكن استخدام odbc_close() لإغلاق الاتصال .
odbc_close($conn);
مثال ODBC
يظهر المثال التالي كيفية إنشاء قاعدة بيانات ثم ضبط النتائج ثم عرضها على المتصفح بجدول HTML :
<html> <body> <?php $conn=odbc_connect('northwind','',''); if (!$conn) { exit("Connection Failed: " . $conn);} $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>
ليست هناك تعليقات:
إرسال تعليق