
Database Connection in PHP – अभी तक हमने PHP को MySQL के साथ Use करने से संबंधित कुछ Basic Concepts को समझने की कोशिश की। अब हम PHP with MySQL को थोडा और Detail से जानने की कोशिश करेंगे, ताकि हम PHP को MySQL Database के साथ ज्यादा बेहतर तरीके से उपयोग में ले सकें।
PHP अपने Second Version से MySQL को Support करता रहा है लेकिन PHP के Version 5 में MySQL Extension को ज्यादा बेहतर तरीके से Implement किया गया है, जो कि MySQL का Improved Version है। इसीलिए MySQL को mysqli_ Prefix के साथ Use किया जाता है।
ये Improved Extension Development की Speed को काफी तेज कर देता है क्योंकि ये Improved Version कई नए Features जैसे कि Prepared Statements, Advanced Connection Options व Security Enhancements Provide करता है। साथ ही ये Version Object Oriented Technology को भी Support करता है। MySQL का ये Improved Extension निम्न Features Provide करता हैः
- Object Oriented
mysqli Extension एक Class में Encapsulated है जिससे PHP के Object Oriented Concept को Database पर Apply करके Reusability की सुविधा को बेहतर तरीके से प्राप्त किया जा सकता है। हालांकि हम इस Extension को पूरी तरह से Procedural Way में भी उपयोग में ले सकते हैं, जैसाकि हमने अपने पिछले Section में किया है।
- Prepared Statements
जब हमें समान प्रकार की Queries को बार-बार Execute करना होता है, तब Prepared Statements काफी उपयोगी साबित होते हैं। साथ ही Prepared Statements की वजह से SQL Injection Attacks को भी रोका जा सकता है, जिससे Site ज्यादा Secure हो जाती है।
- Transactional Support
MySQL हमें Transactions Perform करने की सुविधा देता है, जिसे हम Object Oriented तरीके से mysqli Extension का प्रयोग करते हुए बेहतर तरीके से उपयोग में ले सकते हैं।
- Enhanced Debugging Capabilities
mysqli Extension हमें Queues को Debug करने के लिए कई तरीके Provide करता है, जिनकी वजह से Development काफी Easy, Manageable व Fast हो जाता है।
- Embedded Server Support
mysqli Extension की वजह से हम PHP के साथ MySQL को Embed कर सकते हैं व PHP को Desktop Applications Develop करने के लिए भी Use कर सकते हैं।
Connection with Database
जब हम mysqli Extension को Object Oriented तरीके से उपयोग में लेना चाहते हैं, तो हमें mysqli Class को उसके Constructor के आधार पर Instantiate करना होता है। इसका Constructor निम्नानुसार होता हैः
mysqli(string host, string username, string pwd, string db_name, int port, string socket)
इस Constructor में MySQL Database के Host जो कि सामान्यतः localhost होता है, Database के Username, Password, Connect किए जाने वाले Database के db_name, MySQL के Connecting Port व Socket आदि Information को Specify करके हम PHP का Connection MySQL के साथ करते हैं। ये सभी Parameters लगभग वही हैं, जिन्हें हमने पिछले Section में mysqli_connect() Function में Specify किया है।
नया Connection बनाने के लिए यदि हम Object Oriented तरीके को Use करना चाहें, तो हम ये काम निम्नानुसार कर सकते हैं, जैसाकि हमने पहले mysqli_connect() Function को Use करते हुए किया थाः
$db_conn = new mysqli(“localhost”, “registration”, “pwd”, ” registration”);
हालांकि हम इस Constructor में ही उस Database को Specify कर सकते हैं, जिसे हम Access करना चाहते हैं, लेकिन mysqli हमें connect() व select_db() नाम के दो Methods Provide करता है, जिनका प्रयोग करके हम हमारी जरूरत के अनुसार अपनी PHP Script में कभी भी कहीं भी नए Database Select कर सकते हैं और नए Database से PHP को Connect कर सकते हैं।
connect() Method वही Parameters Accept करता है, जो पिछला Constructor Accept कर रहा है। जैसेः
// Instantiate the mysqli class
$db_conn = new mysqli();
// Connect to the database server and select a database
$db_conn->connect(“localhost”, “registration”, “pwd”, ” registration”);
Connection बनाने के बाद Database Select करने के लिए हम select_db() Method को निम्नानुसार Use कर सकते हैं:
// Connect to the database server
$db_conn = new mysqli();
$db_conn->connect(“localhost”, “registration”, “pwd”);
// Select the database
$db_conn->select_db(“registration”);
PHP का MySQL के साथ Connection Establish करने व उपयुक्त Database को Select कर लेने के बाद हम उस Connection पर किसी भी प्रकार की Database SQL Queries जैसे कि Inserting, Updating, Selecting, Deleting आदि को Fire या Execute कर सकते हैं।
जब एक बार PHP Script Finish हो जाती है, तो उस PHP Script में Open किए गए सभी Database Connections Automatically Close हो जाते हैं और Database द्वारा Occupied सभी Resources Free हो जाते हैं।
फिर भी क्योंकि हम एक ही PHP Script में एक से ज्यादा Connection Open कर सकते हैं, इसलिए यदि हम चाहें तो हम हमारी जरूरत के अनुसार PHP Script में कहीं भी कभी भी किसी भी Database Connection को close() Method का प्रयोग करके Close कर सकते हैं। जैसेः
// Connect to the database server
$db_conn = new mysqli();
$db_conn->connect(“localhost”, “registration”, “pwd”);
// Select the database
$db_conn->select_db(“registration”);
// Interaction code with Database.
$db_conn->close();
कई बार ऐसी स्थितियां भी होती हैं, जब हम जिस MySQL Database से Connect होना चाहते हैं, किसी कारणवश उस Database से Connection नहीं हो पाता। परिणामस्वरूप Error Trigger होता है। इन Connection Related Errors को Handle करने के लिए mysqli Extension हमें mysqli_connect_errno() व mysqli_connect_error() नाम के दो Functions Provide करता है। Error Handling के लिए हम निम्नानुसार PHP Code लिख सकते हैं:
<?php // Connect to the database server $db_conn = new mysqli("localhost", "registration", "pwd", " registration"); if ($db_conn->errno) { printf("Unable to connect to the database:<br /> %s", $db_conn->error); exit(); } ?>
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
PHP in Hindi | Page: 647 | Format: PDF