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 -ийн тухай байх болно.
Related posts:
- PHP/MySQL 5: Prepared Statement Prepared Statement гэж юу вэ? Prepared гэдэг үг бол бэлтгэсэн...
- PHP/MySQL 6: mysqli extension ашиглах 1 PHP -ийн mysql-тэй ажиллах сангуудын талаар өмнөх бичлэгүүдэд дурдсан. Одоо...
- PHP/MySQL 1: MySQL өгөгдлийн сан МySQL бол хамгийн өргөн хэрэглээтэй нээлттэй эхийн өгөгдлийн сан удирдах...
- PHP/MySQL 7: mysqli prepared statement бичих Өмнө нь mysqli болон prepared-statement -ийн талаар бичсэн одоо шуудхан...
- PHP/MySQL 2: phpMyAdmin ашиглах MySQL-тэй холбогдон ажилладаг олон хэрэгсэл бий. Эдгээрээс вебэд суурилан ажилладаг...
Related posts brought to you by Yet Another Related Posts Plugin.
Хэвлэх хувилбар
Найздаа илгээх


(5 votes, average: 4.80 out of 5)
Их чухал зүйл оруулжээ. их гоё л санагдлаа. бид “mysql_query($sql);” хэрэглэдэг байсан бол mysqli обект зарлаад “$mysqliObject->query($sql);” ингэж хэрэглэх юм байна зөв үү???
MySQL Native Driver-ийг жоохон дэлгэрүүлээд өгөөч
mysqli geed object uusgeed bichih ni neg ih gol bish. Bi bol Prepared Statements ashiglahiin tuld heregleh geed baigaa yumaa.
PDO – g standart bolgoj hereglevel zugeer shuu. Zuvhun MySQL ugugdliin baazaas hamaaralgui iluu objekt handaltat bichih bolomjtoi.