PHP-உடன் MySQL-ஐ இணைத்தல்: ஒரு மதிப்பெண் வினாக்கள், புத்தக வினா விடைகள் மற்றும் குறிப்புகள்
ஒரு PHP நிரல் MySQL தரவுத்தளத்துடன் எப்படிப் பேசுகிறது என்பதை இந்தப் பாடம் விளக்குகிறது. சேவையக மென்பொருளை அமைத்தல், mysqli_connect() மூலம் இணைப்பைத் திறத்தல், இணைப்புப் பிழையைச் சோதித்தல், mysqli_query() மூலம் SQL கட்டளையை இயக்குதல், விடையில் வரும் வரிசைகளைப் படித்தல், mysqli_close() மூலம் இணைப்பை மூடுதல் ஆகியவை இதில் உள்ளன. தேர்வுக்கு ஒவ்வொரு செயற்கூறும் எந்தச் செயலுருபுகளை எந்த வரிசையில் ஏற்கிறது என்பதைத் தெரிந்திருக்க வேண்டும்.
இந்தப் பாடத்தைப் படியுங்கள்
முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டவை
இந்தப் பாடத்திலிருந்து 5 வினாக்கள் 5 முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டன. விடையையும் விளக்கத்தையும் காண எந்த வினாவையும் திறக்கவும்.
-
மார்ச் 2026
PHP இன் எந்த பதிப்பு MySQLi செயற்கூறை ஆதரிக்கிறது?விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2024
PHP -இல் இணைப்பை மூடுவதற்கு கீழ்கண்டவற்றுள் எது சரியான செயற்கூறு ?விடையுடன் வினாத்தாளில் பார் →
-
மே 2022
SQL -ன் விரிவாக்கம் தருக.விடையுடன் வினாத்தாளில் பார் →
-
துணைத் தேர்வு 2021
PHP -ல் MySQLi மூடுதல் (close) செயற்கூறுக்கு எத்தனை அளபுருக்கள் தேவைப்படுகிறது ?விடையுடன் வினாத்தாளில் பார் →
-
மார்ச் 2020
தரவுத்தள அட்டவணை அல்லது அட்டவணைகளின் தொகுப்பிலிருந்து தரவு அல்லது தகவல்களை பெறுவதற்கான கட்டளைகளே ________ ஆகும்.விடையுடன் வினாத்தாளில் பார் →
PHP-உடன் MySQL-ஐ இணைத்தல் பற்றி
நடுத்தரம் ~45 நிமிடப் படிப்பு
பயனுள்ள எந்த இணையதளமும் தரவைச் சேமித்து வைக்கிறது: மாணவர் பதிவுகள், ஆர்டர்கள், பயனர் கணக்குகள். அந்தத் தரவு MySQL போன்ற ஒரு தரவுத்தளத்தில் (Database) இருக்கிறது. பக்கத்தை உருவாக்குவது PHP. தனியாக இருந்தால் PHP-ஆல் அட்டவணைகளைப் பார்க்க முடியாது. MySQL-ஆல் வலைப்பக்கத்தை உருவாக்க முடியாது. இந்த இரண்டையும் எப்படி இணைப்பது, ஒரு நிரல் அட்டவணையிலிருந்து பதிவுகளைப் படித்து எப்படிக் காட்டுவது என்பதை இந்தப் பாடம் காட்டுகிறது.
இதற்கு PHP பயன்படுத்துவது MySQLi நீட்சி (Extension). இது mysqli_ என்று தொடங்கும் பெயர்களைக் கொண்ட உள்ளமைந்த செயற்கூறுகளின் (Functions) தொகுப்பு. சேவையகப் பெயர், பயனர் பெயர், கடவுச்சொல், தரவுத்தளப் பெயர் ஆகியவற்றைக் கொடுத்து இணைப்பைத் திறக்க ஒரு செயற்கூறு உண்டு. SQL கட்டளையை அனுப்ப இன்னொன்று, திரும்பி வரும் வரிசைகளைப் படிக்க வேறு சில, இணைப்பை மூட மற்றொன்று. இவை எந்த வரிசையில் அழைக்கப்படுகின்றன என்று புரிந்தால், பாடநூலில் உள்ள எடுத்துக்காட்டு நிரல்களை எளிதாகப் பின்பற்றலாம்.
இந்தப் பாடத்திலிருந்து வரும் தேர்வு வினாக்கள் செயற்கூறுகளைப் பற்றியவை: mysqli_connect() எந்தச் செயலுருபுகளை (Arguments) எந்த வரிசையில் ஏற்கிறது, mysqli_query(), mysqli_close() ஆகியவற்றுக்கு என்ன தேவை, இணைப்பு தோல்வியடைந்தால் அதை எப்படித் தெரிவிப்பது. புத்தகப் பின்பக்க ஒரு மதிப்பெண் வினாக்களில் ஒரே செயற்கூறு அழைப்பின் பல வடிவங்கள் கொடுக்கப்பட்டு, எது சரியான தொடரியல் (Syntax) என்று கேட்கப்படும். எனவே ஒவ்வொரு அழைப்பையும் பாடநூலில் உள்ளபடியே அதன் செயலுருபுகளுடன் சேர்த்துப் படியுங்கள்.
நீங்கள் கற்பவை
- ஒரு PHP நிரல் MySQL தரவுத்தளத்துடன் வேலை செய்யும்போது பின்பற்றும் படிகளை விவரித்தல்.
- சரியான செயலுருபுகளைச் சரியான வரிசையில் கொடுத்து mysqli_connect() மூலம் தரவுத்தள இணைப்பைத் திறத்தல்.
- இணைப்பு தோல்வியடைந்ததா என்று சோதித்து, பிழைச் செய்தியை அச்சிடுதல்.
- mysqli_query() மூலம் PHP-யிலிருந்து SQL கட்டளைகளை இயக்குதல்.
- மடக்கில் mysqli_fetch_array() பயன்படுத்தி, வினவல் விடையின் வரிசைகளை வலைப்பக்கத்தில் காட்டுதல்.
- mysqli_close() மூலம் தரவுத்தள இணைப்பை மூடுதல்.
தொடங்குவதற்கு முன்
- PHP மாறிகள், தரவு வகைகள், அடிப்படைத் தொடரியல்.
- SELECT, INSERT, UPDATE, DELETE போன்ற SQL கட்டளைகள்.
- localhost என்றால் என்ன, தரவுத்தளப் பயனர் பெயர், கடவுச்சொல் என்றால் என்ன என்பது.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
PHP-உடன் MySQL-ஐ இணைத்தல் — விரிவான விளக்கம்
PHP நிரலை MySQL தரவுத்தளத்துடன் இணைத்தல்
PHP-க்கு ஏன் தரவுத்தள இணைப்பு தேவை
தரவுத்தளத்தைப் பயன்படுத்தும் ஒரு பக்கம் எளிய முறையைப் பின்பற்றுகிறது. PHP நிரல் MySQL சேவையகத்துடன் இணைகிறது, ஒரு SQL கட்டளையை அனுப்புகிறது, விடையைப் பெறுகிறது, அதை HTML ஆக மாற்றி உலாவிக்கு அனுப்புகிறது. இதற்காக PHP தரும் வசதி MySQLi நீட்சி. இதில் உள்ள i என்பது improved (மேம்படுத்தப்பட்ட) என்பதைக் குறிக்கிறது. புதிய MySQL சேவையகங்களுடன் வேலை செய்ய இது PHP 5.0.0 பதிப்பில் அறிமுகமானது. இந்தச் செயற்கூறுகளைக் கொண்டு ஒரு நிரல் பதிவுப் படிவத் தரவைச் சேர்க்கலாம், மாணவரின் மதிப்பெண்ணை மாற்றலாம், அட்டவணையின் எல்லா வரிசைகளையும் பட்டியலிடலாம். உங்கள் கணினியில் பயிற்சி செய்ய வலை சேவையகம், PHP, MySQL மூன்றும் ஒன்றாக நிறுவப்பட வேண்டும். XAMPP அல்லது WAMP போன்ற தொகுப்புகள் இவற்றைத் தருகின்றன.
இணைப்பைத் திறத்தலும் பிழையைச் சோதித்தலும்
இணைப்பு mysqli_connect() மூலம் திறக்கப்படுகிறது. பாடநூல் தரும் தொடரியல் mysqli_connect("Server Name", "User Name", "Password", "DB Name");. எடுத்துக்காட்டு: $con = mysqli_connect("localhost", "my_user", "my_password", "Student_DB");. தரவுத்தளம் அதே கணினியில் இருந்தால் சேவையகப் பெயர் பொதுவாக localhost ஆக இருக்கும். இந்தச் செயற்கூறு ஓர் இணைப்புப் பொருளை (Connection Object) திருப்பித் தருகிறது. அதை ஒரு மாறியில் சேமித்து, மற்ற செயற்கூறுகளுக்குக் கொடுக்கிறோம். இணைப்பு தோல்வியடைந்தால், இல்லாத இணைப்பில் வினவல்களை இயக்க முயல்வதற்குப் பதிலாக, நிரல் அதைத் தெரிவித்து நின்றுவிட வேண்டும். பாடநூல் இதை if (mysqli_connect_errno()) மூலம் சோதித்து, காரணத்தை mysqli_connect_error() மூலம் அச்சிடுகிறது.
வினவல்களை இயக்குதலும் விடையைப் படித்தலும்
இணைப்பு கிடைத்த பிறகு SQL கட்டளைகள் mysqli_query() மூலம் அனுப்பப்படுகின்றன. அதன் தொடரியல் mysqli_query("Connection Object", "SQL Query"). அதாவது முதலில் இணைப்பு, இரண்டாவது SQL சரம். எடுத்துக்காட்டு: mysqli_query($con, $sql);. SELECT கட்டளைக்கு, பொருந்தும் வரிசைகளைக் கொண்ட ஒரு விடைத் தொகுப்பை (Result Set) இது தருகிறது. எத்தனை வரிசைகள் வந்தன என்பதை mysqli_num_rows($result) சொல்கிறது. அவற்றைக் காட்ட while ($row = mysqli_fetch_array($result)) என்ற மடக்கு மூலம் விடையில் ஒவ்வொன்றாகச் செல்கிறோம். ஒவ்வோர் அழைப்பும் அடுத்த வரிசையை ஓர் அணியாகத் (Array) தருகிறது. வரிசைகள் தீர்ந்ததும் மடக்கு முடிகிறது. மடக்கின் உள்ளே புலங்களை அச்சிடுகிறோம், பெரும்பாலும் HTML அட்டவணையின் வரிசைகளாக.
இணைப்பை மூடுதல்
வினவல்கள் முடிந்ததும் mysqli_close() மூலம் இணைப்பை மூட வேண்டும். இது இணைப்புப் பொருள் என்ற ஒரே ஒரு செயலுருபை ஏற்கிறது: mysqli_close($con);. மூடும்போது MySQL சேவையகத்தில் அந்த இணைப்பு பிடித்து வைத்திருந்த நினைவகமும் இணைப்பு இடமும் விடுவிக்கப்படுகின்றன. நிரல் முடியும்போது PHP தானாகவே இணைப்புகளை மூடுகிறது. ஆனாலும் நாமே மூடுவது நல்ல பழக்கம். ஒரு MySQL சேவையகம் ஒரே நேரத்தில் குறிப்பிட்ட எண்ணிக்கையிலான இணைப்புகளை மட்டுமே அனுமதிக்கிறது. அதிகப் பயனர்கள் வரும் தளத்தில் மூடப்படாத இணைப்புகள் அந்த வரம்பை நிரப்பிவிடும். அப்போது புதிய பார்வையாளர்கள் காத்திருக்க வேண்டும் அல்லது இணைக்கவே முடியாது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- mysqli_connect() அழைப்பில் தரவுத்தளப் பெயரை விட்டுவிடுதல். இணைப்பு திறக்கலாம், ஆனால் எந்தத் தரவுத்தளமும் தேர்வு செய்யப்படாததால் வினவல்கள் தோல்வியடையும். சேவையகப் பெயர், பயனர் பெயர், கடவுச்சொல், தரவுத்தளப் பெயர் என நான்கையும் இந்த வரிசையில் கொடுங்கள்.
- இணைப்பு வேலை செய்ததா என்று சோதிக்காமலேயே வினவல்களை இயக்குதல். mysqli_connect_errno() மூலம் சோதித்து, mysqli_connect_error() அச்சிட்டால் தோல்விக்கான காரணம் தெரியும்.
- mysqli_query() செயலுருபுகளை இடம் மாற்றி எழுதுதல். முதலில் இணைப்புப் பொருள், இரண்டாவது SQL சரம். mysqli_query($sql, $con) என்று எழுதுவது தவறு.
- நிரலின் முடிவில் இணைப்புகளைத் திறந்தே விட்டுவிடுதல். வேலை முடிந்ததும் இணைப்புப் பொருளைக் கொடுத்து mysqli_close() அழையுங்கள்.
- வரிசைகளைப் பெறும் while மடக்குக்கு முன்பே mysqli_close() அழைத்தல். இணைப்பை மூடிய பிறகு அதில் வினவல்களை இயக்க முடியாது. எனவே எல்லா வெளியீடும் அச்சிடப்பட்ட பிறகே மூடுங்கள்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
PHP நிரலை MySQL தரவுத்தளத்துடன் எப்படி இணைப்பது?
சேவையகப் பெயர், பயனர் பெயர், கடவுச்சொல், தரவுத்தளப் பெயர் ஆகியவற்றைக் கொடுத்து mysqli_connect() செயற்கூற்றை அழையுங்கள். எடுத்துக்காட்டு: $con = mysqli_connect("localhost", "my_user", "my_password", "Student_DB"). இது ஓர் இணைப்புப் பொருளைத் தருகிறது. அதை மற்ற mysqli செயற்கூறுகளுக்குக் கொடுக்கிறோம்.
mysqli_connect() எந்தச் செயலுருபுகளை ஏற்கிறது?
பாடநூலில் உள்ளபடி நான்கு மதிப்புகளை இந்த வரிசையில் ஏற்கிறது: சேவையகப் பெயர் (பொதுவாக localhost), பயனர் பெயர், கடவுச்சொல், தரவுத்தளப் பெயர். PHP இவற்றில் சிலவற்றை விட்டுவிட அனுமதிக்கிறது. ஆனால் தேர்வு விடைகளில் நான்கையும் இதே வரிசையில் எப்போதும் எழுதுங்கள்.
தரவுத்தள இணைப்பு தோல்வியடைந்ததா என்று எப்படிச் சோதிப்பது?
mysqli_connect() அழைத்த பிறகு, if கூற்றில் mysqli_connect_errno() மதிப்பைச் சோதியுங்கள். அது பூஜ்ஜியம் அல்லாத மதிப்பைத் தந்தால் இணைப்பு தோல்வியடைந்தது. அப்போது mysqli_connect_error() பிழைச் செய்தியைத் தரும். எடுத்துக்காட்டு: echo "Failed to connect to MySQL: " . mysqli_connect_error();
mysqli_query() எதற்குப் பயன்படுகிறது?
mysqli_query() ஒரு SQL கட்டளையை MySQL சேவையகத்துக்கு அனுப்பி இயக்குகிறது. இணைப்புப் பொருள், SQL வினவல் சரம் என்ற இரண்டு செயலுருபுகளை ஏற்கிறது. SELECT கட்டளைக்கு விடைத் தொகுப்பைத் தருகிறது. INSERT, UPDATE போன்ற கட்டளைகளுக்கு true அல்லது false தருகிறது.
தரவுத்தள இணைப்புகளை ஏன் மூட வேண்டும்?
திறந்திருக்கும் ஒவ்வோர் இணைப்பும் நினைவகத்தையும், MySQL சேவையகத்தில் உள்ள குறைந்த எண்ணிக்கையிலான இணைப்பு இடங்களில் ஒன்றையும் பிடித்து வைக்கிறது. வேலை முடிந்தவுடன் mysqli_close() அழைத்தால் இவை விடுவிக்கப்படுகின்றன. அதனால் தளத்தின் மற்ற பயனர்கள் தாமதமின்றி இணைய முடியும்.
வினவல் விடையிலிருந்து பதிவுகளை எப்படிப் படிப்பது?
விடையை while மடக்கின் உள்ளே mysqli_fetch_array() செயற்கூற்றுக்குக் கொடுங்கள்: while ($row = mysqli_fetch_array($result)). ஒவ்வோர் அழைப்பும் அடுத்த வரிசையை ஓர் அணியாகத் தருகிறது. அதன் புலங்களை அச்சிடலாம். வரிசைகள் தீர்ந்ததும் மடக்கு நின்றுவிடும்.
mysqli_close() எப்படி mysqli_connect()-இலிருந்து வேறுபடுகிறது?
mysqli_connect() இணைப்பைத் திறக்கிறது. அதற்குச் சேவையகப் பெயர், பயனர் பெயர், கடவுச்சொல், தரவுத்தளப் பெயர் தேவை. mysqli_close() ஏற்கெனவே உள்ள இணைப்பை முடிக்கிறது. அதற்கு இணைப்புப் பொருள் என்ற ஒரே செயலுருபு போதும்.
கடைசியாகப் புதுப்பிக்கப்பட்டது 17 செப்டெம்பர் 2026