آموزش PHP

خودآموز گام به گام PHP ADOdb

PHP ADOdb چیست؟

·         کتابخانه ای برای دسترسی به انواع از پایگاه داده.

·          PHP ADOdb با PHP نوشته شده است.

·          از سیستم متاتایپ (metatype system) برای یافتن نوع داده(data type)  معادل یک فیلد در پایگاه داده استفاده می کند.

·         ایده ان از Microsoft ADOdb گرفته شده است.

چرا PHP ADOdb؟

·         از انواع پایگاه داده مانند MySQL، Oracle، Microsoft SQL Server، Sybase، Sybase SQL Anywhere، Informix، PostgreSQL، FrontBase، Interbase ، Foxpro، Access، ADO و ODBCپشتیبانی می کند.

·         همچنین این کتابخانه نه تنها از دستورات select و Delete که از Insert  نیز پشتیبانی می کند.

·         PHP ADOdb از نوع Write once run anywhere است. (یکبار بنویسید همه جا استفاده کنید).

·         کد sql ان انتقال پذیر(portable)  است .

 

مقدمه ای برای ADOdb

می توانید مشتریتان را با گفتن "مشکلی نیست می توانید از mysql، mssql، oracle و غیره استفاده کنید"، شگفت زده کنید. برنامه ما بدون نیاز به تغییر کد، تمام پایگاه های داده اصلی را پشتیبانی می کند. حتما ارتقاء می گیرید. ابزار جادویی ما php ADOdb است. توابع PHP برای دسترسی به پایگاه داده استاندارد نشده است. این نیاز به یک Class Library پایگاه داده را برای پنهان کردن اختلافات بین API پایگاه داده، بیشتر می کند، با این Class Library می توانیم به راحتی پایگاه داده را تعویض کنیم. در حال حاضر ADOdb ازMySQL، Oracle، Microsoft SQL Server، Sybase، Sybase SQL Anywhere، Informix، PostgreSQL، FrontBase، Interbase،Foxpro، Access، ADO and ODBC پشتیبانی می کند. گزارش هایی مبنی بر اتصال موفق به Progress و DB2 هم از طریق ODBCداشته ایم. ویژگی های یکتای ADOdb عبارتند از:

·         برای کاربران ویندوز کار با ان راحت است. چون بسیاری از قرارداد ها شبیه Microsoft ADO است. بر خلاف دیگر کلاس های پایگاه داده PHP که بر دستور Select تمرکز دارند، ما کدی را ارائه می کنیم که insert و delete را هم انجام داده و قابل انتقال به دیگر پایگاه های داده باشد. برای هر پایگاه داده، متدهایی برای پردازش تاریخ (date)، الحاق رشته ها ارائه شده است.

·         یک سیستم متاتایپ به طور توکار نوشته شده که می توانیم معادل های نوع داده هایی مانند CHAR، STRING و TEXT را برای انواع پایگاه داده ها بیابیم.

·         انتقال ان راحت است، چون تمام کد وابسته به پایگاه داده در توابع stub نگهداری می شود. لازم نیست منطق هسته ی(Core logic)  کلاس ها را منتقل کنید.

·         پشتیبانی از PHP Session.

حالا این کتابخانه را تست می کنیم.

1.     از sourceforge انرا دانلود کنید.

2.     فایل فشرده شده را در یک دایرکتوری وب استخراج کنید.

3.     مدیر پایگاه داده را باز کنید (مثلا phpmyadmin).

4.     یک پایگاه داده بسازید (مثلا inventory)

5.     یک جدول ساده بسازید (مثلا products)

6.     حالا یک تست ساده. کد زیر رابنویسید. انرا درون دایرکتوری با پوشه adodb بگذارید نام انرا adodbtest.php بگذارید:

01

<?php    

02

    include('adodb/adodb.inc.php');

03

     

04

    $databasetype = 'mysql';

05

    $server = 'localhost';

06

    $user   = 'root';

07

    $password = 'r0ot';

08

    $database = 'inventory';

09

     

10

    $db = ADONewConnection($databasetype);

11

    $db->debug = true;

12

    $db->Connect($server، $user، $password، $database);

13

    $rs = $db->Execute('select * from products');

14

    print "<pre>";

15

    print_r($rs->GetRows());

16

    print "</pre>";

17

?>

   

7.     فایل را اجرا کنید

 

دستور Connection

در این بخش، درباره اتصال ها (connection) در php ADOdb صحبت خواهیم کرد. دو اتصال در ADOdb وجود دارد:Connect()  وPconnect().

Connect($host,[$user],[$password],[$database])  - از این در مثال اولمان استفاده کردیم. اتصال ناماندگار (non-persistent) به پایگاه داده یا سرور به نام $host، با استفاده از نام کاربری $user و پسورد $password. اگر سرور از چند پایگاه داده پشتیبانی کند، به $database متصل می شویم.

کد مانند این است:

1

$db = ADONewConnection($databasetype);

2

$db->debug = true;

 

3

$db->Connect($server, $user, $password, $database);

اگر به جای OLEDB از Microsoft ADO استفاده می کنید می توانید، پارامتر $database را برابر ارائه دهنده داده OLEDB (OLEDB data provider) که استفاده می کنید قرار دهید.

PConnect($host,[$user],[$password],[$database])  - اتصال ماندگار (persistent) به پایگاه داده با استفاده از نام کاربری$user و پسورد $password. . اگر سرور از چند پایگاه داده پشتیبانی کند، به $database متصل می شویم.

1

include('adodb.inc.php'); # load code common to ADOdb

2

    $conn = &ADONewConnection('access'); # create a connection

 

3

    $conn->PConnect('northwind'); # connect to MS-Access, northwind DSN

 

اگر connect و pconnect را با هم اشتباه می کنید، نکات زیر ممکن است مفید باشد:

اول، هنگام اتصال، تابع سعی می کند، لینکی ماندگار و باز به همان هاست، نام کاربری و پسورد بیابد. اگر یافت شود، در عوض ساخت اتصال جدید، شناسه(id)  ان اتصال باز برگردانده می شود.

دوم، بعد از اتمام اسکریپت، اتصال به سرور SQL  بسته نمی شود. در عوض، لینک برای استفاده اینده باز گذاشته می شود (مثلاmysql_close() لینکهایی که با pconnect() باز شده را نمی بندد.)

 

دستور Select پیشرفته

ADOdb ویژگی هایی دارد که سرعت شما را افزایش می دهد. یکی از این ویژگی ها دستور پیشرفته select است. با استفاده از این می توانید کد های خود را بهبود دهید.

select ساده

مثال select ساده:

01

include('adodb.inc.php'); # load code common to ADOdb

02

   $conn = &ADONewConnection('access'); # create a connection

 

03

   $conn->PConnect('northwind'); # connect to MS-Access, northwind DSN

04

 

 

05

   $recordSet = &$conn->Execute('select * from products');

06

 

 

07

   if (!$recordSet)

08

       print $conn->ErrorMsg();

 

09

   else

10

       while (!$recordSet->EOF) {

 

11

           print $recordSet->fields[0].' '.$recordSet->fields[1].'<br>';

12

           $recordSet->MoveNext();

 

13

       }    $recordSet->Close(); # optional

14

   $conn->Close(); # optional

 

selectlimit

فرمول ان اینگونه است:

SelectLimit($sql,$numrows=-1,$offset=-1,$inputarr=false)

 

اگر موفق باشد یک Recordset را برمی گرداند.یک select ساده را اجرا می کند، با شبیه سازی دستور Select در PostgreSQL ، تعداد را به $numrows با شروع از $offset محدود می کند.

مثال:

01

$connection->SelectLimit('SELECT * FROM TABLE',-1,10)

 

نحوه نمایش جدول

نمایش تمام جدول ها با استفاده از ADOdb ساده است. فقط به MetaTables() نیاز دارید. مثال را ببینید:

منبع

آموزش React Native

آموزش PHP

برنامه نویسی چندلایه در سی شارپ

آموزش Ajax

دوره مقدماتی برنامه نویسی جاوا

کارگاه عملی آموزش PHP همراه با ساخت فروشگاه الکترونیکی

آموزشگاه تخصصی برنامه نویسی تحلیل داده

مشخصات

آخرین مطالب این وبلاگ

آخرین جستجو ها