MySQL vs MySQLi ቅጥያ
MySQL ታዋቂ የግንኙነት ዳታቤዝ አስተዳደር ስርዓት (RDBMS) ነው። እንደ ዊኪፔዲያ፣ ጎግል እና ፌስቡክ ባሉ ትላልቅ ኢንተርፕራይዞች ውስጥም ቢሆን በስፋት ጥቅም ላይ የሚውል ክፍት ምንጭ DBMS ነው። ፒኤችፒ (PHP: Hypertext Preprocessor ማለት ነው) የአገልጋይ ጎን ስክሪፕት ቋንቋ ነው፣በተለይ ተለዋዋጭ እና በይነተገናኝ ድረ-ገጾችን ለማዘጋጀት ተስማሚ። MySQL እና MySQLi ለ PHP አፕሊኬሽኖች ከ MySQL ዳታቤዝ ጋር መስተጋብር የሚቀርቡ ሁለት ቅጥያዎች ናቸው። እነዚህ ሁለት ቅጥያዎች የሚተገበሩት የPHP ኤክስቴንሽን ማዕቀፍ በመጠቀም ሲሆን እነዚህም ከ MySQL ዳታቤዝ ጋር መስተጋብር እንዲፈጥሩ ለPHP ፕሮግራመሮች API (Application Programming Interface) ይሰጣሉ።
MySQL ቅጥያ ምንድን ነው?
MySQL ቅጥያ የPHP አፕሊኬሽኖችን ለማዘጋጀት የመጀመሪያው ቅጥያ ሲሆን ከ MySQL ዳታቤዝ ጋር መስተጋብር መፍጠር ይቻላል። ይህ ለPHP ፕሮግራመሮች ከ MySQL ዳታቤዝ ጋር መስተጋብር እንዲፈጥሩ የሥርዓት በይነገጽን ይሰጣል። ይህ ቅጥያ ከስሪት 4.1.3 የቆዩ MySQL ስሪቶች ጋር ብቻ ጥቅም ላይ እንዲውል የታሰበ ነው። ምንም እንኳን ይህ ከ MySQL ስሪት 4.1.3 ወይም አዲስ ጋር ጥቅም ላይ ሊውል የሚችል ቢሆንም፣ በእነዚያ ስሪቶች ውስጥ ያሉት ማናቸውም አዲስ ባህሪያት አይገኙም። በአሁኑ ጊዜ በ MySQL ቅጥያ ላይ ምንም አይነት ንቁ እድገቶች የሉም እና ለአዳዲስ ፕሮጀክቶች አይመከርም። ተጨማሪ MySQL ቅጥያ በአገልጋይ-ጎን የተዘጋጁ መግለጫዎችን ወይም በደንበኛ-ጎን የተዘጋጁ መግለጫዎችን አይደግፍም። እንዲሁም የተከማቹ ሂደቶችን ወይም Charsetsን አይደግፍም።
MySQLi ቅጥያ ምንድን ነው?
MySQLi Extension (በተጨማሪም MySQL የተሻሻለ ቅጥያ ተብሎም ይጠራል) ከ MySQL ዳታቤዝ ጋር መስተጋብር መፍጠር የሚችሉ የPHP መተግበሪያዎችን ለማዘጋጀት የቀረበ አዲስ ቅጥያ ነው።ይህ ቅጥያ የተዘጋጀው በ MySQL ስሪት 4.1.3 ወይም ከዚያ በላይ ያሉትን ባህሪያት ከፍተኛውን ጥቅም ለማግኘት ነው። MySQLi ቅጥያ በመጀመሪያ ከ PHP ስሪት 5 ጋር የተካተተ እና በሁሉም የኋለኞቹ ስሪቶች ውስጥ የተካተተ ነው። ለ PHP ፕሮግራመሮች የሥርዓት በይነገጽ ከማቅረብ በተጨማሪ MySQLi Extension በነገር ላይ ያተኮረ በይነገጽም ይሰጣል። ይህ በተጨማሪ ለደንበኛ/በአገልጋይ ጎን ለተዘጋጁ መግለጫዎች እና ለብዙ መግለጫዎች ድጋፍ ይሰጣል። በተጨማሪም፣ Charsets እና የተከማቹ ሂደቶችን ይደግፋል።
በ MySQL እና MySQLi Extension መካከል ያለው ልዩነት ምንድን ነው?
ምንም እንኳን ሁለቱም MySQL Extension እና MySQLi Extension ከ MySQL ዳታቤዝ ጋር መስተጋብር መፍጠር የሚችሉ የPHP አፕሊኬሽኖችን ለማዘጋጀት የተሰጡ ቅጥያዎች ቢሆኑም MySQLi ቅጥያ በ MySQL ቅጥያ ላይ አንዳንድ ቁልፍ ማሻሻያዎች አሉት። በመጀመሪያ፣ MySQL ቅጥያ ከ4.1.3 በላይ በሆኑ MySQL ስሪቶች እንዲጠቀም ይመከራል፣ MySQLi Extension ደግሞ ከ MySQL ስሪቶች 4.1.3 ወይም ከዚያ በላይ እንዲጠቀሙ ይመከራል። እንዲሁም MySQLi ቅጥያ ከ PHP 5 ወይም ከዚያ በላይ ስሪቶች ጋር ብቻ የተዋሃደ ነው።MySQL ኤክስቴንሽን ለPHP ፕሮግራመሮች የሥርዓት በይነገጽን ብቻ ይሰጣል፣ MySQLi Extension ግን የነገር ተኮር በይነገጽን ይሰጣል (ከሥርዓት በይነገጽ በተጨማሪ)። በተጨማሪም MySQLi Extension በ MySQL ቅጥያ ውስጥ ያልተደገፉ ለተዘጋጁ መግለጫዎች እና በርካታ መግለጫዎች ድጋፍ ይሰጣል። MySQLi ቅጥያ ከ MySQL ቅጥያ ጋር ሲወዳደር የተሻሻሉ የማረም ችሎታዎችን ያቀርባል። በተጨማሪም MySQLi Extension በ MySQL ቅጥያ ውስጥ የማይገኙ የተከተተ የአገልጋይ ድጋፍ እና የግብይት ድጋፍ ይሰጣል። ምንም እንኳን MySQL ቅጥያ ከ MySQL ስሪቶች 4.1.3 ወይም ከዚያ በላይ ጥቅም ላይ ሊውል የሚችል ቢሆንም፣ ከእነዚህ MySQL ስሪቶች ጋር የተካተቱት ማናቸውም አዲስ ባህሪያት አይገኙም።