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 7: mysqli prepared statement бичих Өмнө нь mysqli болон prepared-statement -ийн талаар бичсэн одоо шуудхан...
Related posts brought to you by Yet Another Related Posts Plugin.
Хэвлэх хувилбар
Найздаа илгээх


(6 votes, average: 4.83 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.
Аан, mysqli-д дурлачихлаа кк. Шууд л судлаж эхлэхээр шийдлээ. Баярлалаа үнэхээр сайн бичсэнд
xacaa: PDO-г бас хараарай. сүүлийн үед PDO их хэрэглэгдэх болж байна. баазын төрлөөс хамаарч код өөрөөр бичигдэх энэ тэр гэхгүй их сайхан гэдэг. Миний хувьд сүүлийн үед хуучин ажлуудаа сайжруулахдаа mysqli preperad statement ашиглаж байна. Харин шинэ прожект эхлэвэл doctrine ORM ашиглах цаашлаас symfony ашиглана гэж төлөвлөсөн байгаа.
Сайн байна уу
та хичээл бараг оруулахаа больсон байна шүү энэ symfony-ийг сурая гэж бодоод байгаа боломжтой бол ойрхон зуур хэдэн бичлэг оруулж өгөөч таны бичлэгийг унших гоё байдаг шүү
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