ODBC پایگاه داده در PHP

ODBC یک رابط برنامه‌نویسی کاربردی (API) است که به ما امکان می‌دهد به یک منبع داده (مثلاً یک پایگاه داده MS Access) متصل شویم.

اتصال ODBC ایجاد کنید

با استفاده از یک اتصال ODBC، می‌توانید به هر پایگاه داده‌ای روی هر کامپیوتری در شبکه خود متصل شوید، به شرطی که اتصال ODBC قابل دسترسی باشد.

این روشی است که برای ایجاد اتصال ODBC به داده‌های MS Access استفاده می‌شود:

  1. در کنترل پنل باز کنیدابزارهای مدیریت
  2. دو تا از آنها را دوبار کلیک کنیدمنبع داده (ODBC) آیکون
  3. سیستم را انتخاب کنید تابل DSN
  4. روی تب DSN سیستم کلیک کنید "افزودن" دکمه
  5. انتخاب کنید راننده‌ی Microsoft Access. کلیک کنیدپایان.
  6. در صفحه بعدی، روی "انتخاب کنیدبرای تعیین پایگاه داده استفاده کنید.
  7. برای این پایگاه داده یک نامنام منبع داده (DSN).
  8. کلیک کنیدتأیید.

لطفاً توجه داشته باشید که باید این تنظیمات در کامپیوتری که وب‌سایت شما روی آن قرار دارد انجام شود. اگر سرور Internet Information Services (IIS) روی کامپیوتر شما اجرا می‌شود، دستورات بالا کار می‌کنند، اما اگر وب‌سایت شما روی سرور دور قرار دارد، شما باید دسترسی فیزیکی به سرور داشته باشید یا از ارائه‌دهنده‌ی خدمات میزبانی خود بخواهید DSN برای شما ایجاد کند.

اتصال به ODBC

تابع odbc_connect() برای اتصال به منبع داده ODBC استفاده می‌شود. این تابع چهار پارامتر دارد: نام منبع داده، نام کاربری، رمز عبور و پارامتر اختیاری نوع اشاره‌گر.

تابع odbc_exec() برای اجرای دستورات SQL استفاده می‌شود.

مثال

در این مثال، اتصال به DSN به نام northwind ایجاد و یک دستور SQL ایجاد و اجرا می‌شود، بدون نام کاربری و رمز عبور:

$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers"; 
$rs=odbc_exec($conn,$sql);

ردیف بازیابی می‌شود

تابع odbc_fetch_row() برای بازگرداندن رکوردها از مجموعه نتایج استفاده می‌شود. اگر بتواند ردیف بازگرداند، در غیر این صورت false بازمی‌گرداند.

این تابع دو پارامتر دارد: شناسه‌ی نتایج ODBC و شماره‌ی اختیاری ردیف:

odbc_fetch_row($rs)

فیلد از رکورد بازیابی می‌شود

تابع odbc_result() برای خواندن فیلدها از رکورد استفاده می‌شود. این تابع دو پارامتر دارد: شناسه‌ی نتایج ODBC و شماره یا نام فیلد.

خط کد زیر مقادیر اولین فیلد از رکورد را بازمی‌گرداند:

$compname=odbc_result($rs,1); 

خط کد زیر مقادیر یک فیلد به نام "CompanyName" را بازمی‌گرداند:

$compname=odbc_result($rs,"CompanyName");

اتصال ODBC بسته می‌شود

وظیفه‌ی تابع odbc_close() بستن اتصال ODBC است.

odbc_close($conn);

ODBC Example

The following examples show how to first create a database connection, then a result set, and then display the data in an HTML table.

<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>