ایجاد یک ارتباط odbc در PHP
ایجاد یک ارتباط ODBC
با ODBC یا Open Database Connectivity می توان از هر کامپیوتری که روی شبکه قرار دارد به هر پایگاه داده ای متصل شد البته تازمانی که ارتباط ODBC برقرار باشد.
در اصل ODBC فراهم کننده یک رابط نرم افزاری (API) می باشد که بدین وسیله می توان از DBMS های مختلف استفاده کرد. هدف طراحان ODBC بوجود آوردن یک بستر مستقل از زبان های برنامه نویسی، سیستم عامل ها و DBMS ها بوده است.
در زیر چگونگی ایجاد یک ارتباط ODBC به پایگاه داده Access توضیح داده شده است:
- در کنترل پانل ویندوز روی آیکون Administrative Tools کلیک کنید.
- آیکون Data Sources را باز کنید. (ODBC)
- تب System DSN را انتخاب کنید.
- روی دکمه Add در تب System DNS کلیک کنید.
- Microsoft Access Driver را انتخاب کنید و دکمه Finish را کلیک کنید.
- در صفحه باز شده محل پایگاه داده را انتخاب کنید.
- یک نام مناسب در قسمت Data Source Name وارد کنید.
- دکمه OK را کلیک کنید.
توجه داشته باشید که تنظیمات بالا باید روی کامپیوتری انجام شود که وب سایتتان روی آن قرار دارد و در ادامه اگر Internet Information Server یا IIS روی کامپیوترتان نصب باشد، سایتتان به درستی کار خواهد کرد، اما اگر وب سایتتان روی یک server راه دور قرار دارد، برای تنظیم کردن موارد بالا باید دسترسی فیزیکی به آن سرور داشته باشید و یا می توانید از میزبان وبتان در این مورد سوال کنید.
ارتباط به یک پایگاه داده
تابع ()odbc_connect برای ارتباط به پایگاه داده ODBC استفاده می شود. این تابع چهار پارامتر دارد:
- data source name
- username
- password
- optional cursor type
می توان از تابع ()odbc_exec برای اجرای یک کوئری روی پایگاه داده استفاده نمود.
مثال: در مثال زیر یک ارتباط به پایگاه داده northwind ایجاد کرده ایم و سپس یک کوئری اجرا شده است:
$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
بازیابی رکودها
تابع ()odbc_fetch_row برای بازیابی رکوردهای، کوئری های اجرا شده استفاده می شود، این تابع اگر ردیفی برای بازیابی باشد، مقدار true والا مقدار false را برمی گرداند. این تابع دو پارامتر دارد:
- نتیجه اجرای یک کوئری
- پارامتر اختیاری شماره ردیف
odbc_fetch_row($rs)
بازیابی یک فیلد
تابع ()odbc_result برای خواندن یک فیلد از یک رکورد استفاده می شود، این تابع دو پارامتر می گیرد:
- نتیجه کوئری اجرا شده
- نام فیلد یا شماره فیلد
کد زیر مقدار فیلد اول از رکورد اول را در متغیر compname$ قرار می دهد:
$compname=odbc_result($rs,1);
کد زیر مقدار فیلدی که نام آن CompanyName است را در متغیر compname$ قرار می دهد:
$compname=odbc_result($rs,"CompanyName");
بستن ارتباط
تابع ()odbc_close برای بستن یک ارتباط ODBC استفاده می شود.
odbc_close($conn);
یک مثال ODBC:
در مثال زیر ابتدا یک Connection ایجاد می کنیم و سپس با اجرای کوئری، نتایج آنرا در یک جدول 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>
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 18422