Home > PHP/MySql > PHP/MySQL 4: Энэ сэдвээр цааш явахаас өмнө

PHP/MySQL 4: Энэ сэдвээр цааш явахаас өмнө

PHP MySQL хоёр хамгийн нийцтэй ажилладаг, өргөн ашиглагддаг гэдгийг бүгд мэднэ. Харин аль аль нь хөгжиж хоорондоо холбогдон ажиллах нь улам бүр сайжирсаар байна. MySQL -ийн хамгийн өргөн дэлгэрсэн хувилбар бол 3.23 байсан бөгөөд үүний дараагийн маш том, том өөрчлөлтүүдийг агуулсан хувилбар бол 4.1 хувилбар нь байсан. Энэ үеэс PHP ч уг хувилбарын боломжийг бүрэн дүүрэн ашиглах боломжтой сануудыг гаргасан байх юм. Одоогийн байдлаар php mysql-тэй холбогдон ажиллах 3 сан (extension) ашиглагдаж байна. Эдгээр нь mysql, mysqli, PDO (PHP Database Objects). Хуучин бидний ашиглаж дадсан mysql сан маань хуучирсан сан болжээ.  Харин цаашид аль хэдийн бий болоод өргөн ашиглагддаг болсон бусад дэвшилтэд сангуудыг ашиглах талаар блогтоо бичихээр шийдлээ. Нэг бус хүмүүс ч энэ талаар санал сэтгэгдэлээ хэллээ. Тэд нарт баярлалаа.

Дээр дурдагдсан 3 сангийн талаар PHP -ийн сайтад бичснийг товч дурдая.

1. PHP-ийн MySQL extension

Энэ сан 4.1 хувилбараас өмнө хэрэглэгдэж байсан процедур хэлбэрээр ажилладаг сан. Хэдийгээр 4.1 болон түүнээс хойш хувилбарууд дээр ажиллах ч уг шинэ хувилбауудад бий болсон шинэ боломжуудыг бүрэн дүүрэн ашиглах боломжгүй.

2. PHP-ийн mysqli extension

mysql+i=mysqli. Энэ i үсэг бол improved гэсэн үгний эхний үсэг юм байна. Энэ боловсронгуй болсон гэсэн үг. Үнэхээр боловсронгуй болж уг сан нь овьект хандалтат бас уламжлалт процедур хандалт  хэлбэрээр бичигддэхээс гадна олон статемeнт зэрэг ажилуулах бас Prepared Statements (үүний тухай миний дараагийн бичлэгт гарна) ашиглах сайхан боломжийг бий болгож өгсөн.

Хэрвээ чиний ашиглаж байгаа мysql чинь 4.1.3 буюу түүнээс хойших хувилбар энэ санг ашиглахыг PHP хатуу сануулж байгаа.

3. PDO

Энэ PHP Database Objects гэсэн үгний товчлол бөгөөд PHP -ийн өгөдлийн сантай ажиллахад зориулагдсан абстракт бүтэц (abstraction layer) юм. Жишээ нь Java JDBC, perl DBI гэж байдагтай адил. Харин энэ бүтэц нь өгөгдлийн сан тус бүртэй ажиллах драйверуудаар хангагдсан байна.  Өгөгдлийн сан солигдоход эх код дээрээ нэг өөрчлөлт хийхгүй солих боломжтой хэрэглэхэд хялбар гэсэн олон давуу тал байгаа боловч бас MySQL-ийн сүүлийн шинэ боломжуудыг ашиглах тал дээр сул талтай юм байна.

Дээрхи сангуудаас гадна MySQL-ийн 4.1.3 -aas хойших хувилбаруудад ашиглах боломжтой MySQL Native Driver гэж бий.

Ингээд дээрхи сангуудыг харицуулсан байдлыг авч үзье.

mysqli PDO MySQL
PHP -ямар хувилбар дээр анх бий болсон 5.0 5.0 3.0 хүртлэх
PHP 5.x байдаг эсэх Тийм Тийм Тийм
PHP 6.0-д байх уу Тийм Тийм Тийм
MySQL хөгжүүлөлтийн байдал Идэвхтэй PHP 5.3-хойш идэвхтэй Засвар оруулах төдий
Шинэ төсөлд санал болгож байгаа эсэх Тийм Тийм Үгүй
Үсгийн кодын програмчлалын боломжтой эсэх. (Charset API) Тийм Тийм Үгүй
Сервер талын Prepared Statements Тийм Тийм Үгүй
Хэрэглэгч талын Prepared Statements Үгүй Тийм Үгүй
Stored Procedures ашиглах Тийм Тийм Үгүй
Олон статмент дэмжих Тийм олонхийг нь Үгүй
MySQL 4.1+ боломжуудыг бүгдийг ашиглах Тийм олонхийг нь Үгүй

Энд бичсэн материалыг http://www.php.net/manual/en/mysqli.overview.php хаягаас бүрэн бүтнээр нь дэлгэрэнгүй байдлаар уншина уу. Дараагийн бичлэг энд дурдагдаад байгаа Prepared Statement -ийн тухай байх болно.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

  1. baku
    June 15th, 2009 at 14:47 | #1

    Их чухал зүйл оруулжээ. их гоё л санагдлаа. бид “mysql_query($sql);” хэрэглэдэг байсан бол mysqli обект зарлаад “$mysqliObject->query($sql);” ингэж хэрэглэх юм байна зөв үү???

  2. baku
    June 15th, 2009 at 14:50 | #2

    MySQL Native Driver-ийг жоохон дэлгэрүүлээд өгөөч

  3. соёл
    June 15th, 2009 at 16:38 | #3

    mysqli geed object uusgeed bichih ni neg ih gol bish. Bi bol Prepared Statements ashiglahiin tuld heregleh geed baigaa yumaa.

  4. ulzii
    June 19th, 2009 at 16:50 | #4

    PDO – g standart bolgoj hereglevel zugeer shuu. Zuvhun MySQL ugugdliin baazaas hamaaralgui iluu objekt handaltat bichih bolomjtoi.

  5. March 18th, 2010 at 00:13 | #5

    Аан, mysqli-д дурлачихлаа кк. Шууд л судлаж эхлэхээр шийдлээ. Баярлалаа үнэхээр сайн бичсэнд

  6. March 18th, 2010 at 09:15 | #6

    xacaa: PDO-г бас хараарай. сүүлийн үед PDO их хэрэглэгдэх болж байна. баазын төрлөөс хамаарч код өөрөөр бичигдэх энэ тэр гэхгүй их сайхан гэдэг. Миний хувьд сүүлийн үед хуучин ажлуудаа сайжруулахдаа mysqli preperad statement ашиглаж байна. Харин шинэ прожект эхлэвэл doctrine ORM ашиглах цаашлаас symfony ашиглана гэж төлөвлөсөн байгаа.

  7. baku
    March 24th, 2010 at 10:19 | #7

    Сайн байна уу
    та хичээл бараг оруулахаа больсон байна шүү энэ symfony-ийг сурая гэж бодоод байгаа боломжтой бол ойрхон зуур хэдэн бичлэг оруулж өгөөч таны бичлэгийг унших гоё байдаг шүү

  8. March 24th, 2010 at 15:05 | #8

    Baku: Harin tiimee bi suuliin yed uur ajil deer suugaad eruusuu oruulj chadahgyi baina. symfony surah gej baigaa bol Jobeet geed day by day hiisen saihan gariin avlag bii teriig uzchihvel er ni gaigyi oilgolt avchihna. Bi bolomj garval oruulah bolnoo

  1. No trackbacks yet.