PHP Database Handling (MySQL)
Introduction to PHP Database Handling
अपनी web application का data किसी database में save करना सबसे appropriate रहता है। Database में आपका data secure रहता है। किसी भी database में data normalized form में रहता है। Database चाहे कितना ही बड़ा क्यों ना हो उसमे आप data को बहुत fast access कर सकते है। PHP के साथ सबसे ज्यादा यूज़ होने वाला database MySQL है। MySQL एक open source database है। ये सभी को freely available है। MySQL दुनिया का सबसे ज्यादा यूज़ होने वाला database है। MySQL data के साथ operations perform करने के लिए SQL (Structured Query Language) यूज़ करता है।
MySQL के साथ काम करने के लिए PHP आपको कुछ predefined function provide करती है। जिन्हे यूज़ करके आप आसानी से MySQL के साथ काम कर सकते है। इन functions के बारे में निचे दिया जा रहा है।
mysql_connect()
ये function mysql database से connect करने के लिए यूज़ किया जाता है। Database के साथ काम करने के लिए सबसे पहले आप इसी function को call करेंगे। इस method में तीन arguments पास किये जाते है। पहला argument server का port no होता है। दूसरा argument database का user name होता है और तीसरा argument database का password होता है। इस function की value एक variable में store की जाती है। ये function database का pointer return करता है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$con = mysql_connect("server port no","username","password");
?>
mysql_select_db()
जिस database के साथ आप काम करना चाहते है, वो database आप इस function के द्वारा select करते है। इस function में 2 argument pass किये जाते है। पहला argument database का नाम होता है। और दूसरा argument database connection variable होता है। ये method कुछ भी return नहीं करता है। इसका उदाहरण निचे दिया जा रहा है।
<?php
mysql_select_db("database-name",$con);
?>
mysql_query()
इस function में आप mysql की query pass करते है। ये function उस query को database के against execute करता है और उस query का result एक array के रूप में return करता है। इसलिए आप जब इस function को call करते है तो एक variable में इसकी value store करवाते है। जैसे आप mysql में query लिखते है वैसे ही इस function में भी लिखते है। Query आप inverted commas के अंदर लिखते है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$query = mysql_query("show tables");
?>
mysql_result()
ये function query का result शो करता है। इस function को आप echo statement में यूज़ कर सकते है। ये function एक बार में एक ही element शो कर सकता है। इस function में 3 argument pass किये जाते है। पहला argument वह variable होता है जिसमे आप अपनी query का result store कर सकते है। दूसरे argument की तरह जिस row से आप data शो करना चाहते है वो row number पास करते है। तीसरे argument की तरह जिस column का data आप show करना चाहते है उसका नाम pass करते है। इसका उदाहरण निचे दिया गया है।
<?php
echo "salary is :".mysql_result($query,1,"Tables");
?>
ऊपर दिए गए उदाहरण में 2nd row के salary column का data शो किया गया है।
mysql_fetch_array()
एक एक value शो करने की बजाय आप एक साथ भी अपनी query के result की एक पूरी row show कर सकते है। इसके लिए आप mysql_fetch_array() function यूज़ करते है। इस function में query variable argument की तरह pass किया जाता है। इस function को while loop के साथ यूज़ करके अपनी query का पूरा result आप show कर सकते है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$query = mysql_query("select name from employees");
while($row = mysql_fetch_array($query))
{
echo "Employee names are : ".$row["name"];
}
?>
ऊपर दिए गए उदाहरण में mysql_fetch_array() को call किया गया है और उसका result एक variable में store किया गया है। ये function results में से array fetch करके return करता है। इसके बाद उस variable पर loop चलाया गया है। ये loop तब तक चलता है जब तक की array में कोई value है। जब array में कोई value नहीं होती है तो ये function false return करता है और आपका loop terminate हो जाता है।
Example - Submitting HTML Form Data to Database Using PHP
databasedemo.html:
<html>
<body>
<form method="post" action="databasedemo.php">
Name : <input type="text" name="name" > <br />
Email : <input type="text" name="email" > <br />
<input type="submit" value="Submit">
</form>
</body>
</html>
databasedemo.php:
<?php
$Name = $_POST['name'];
$Email = $_POST['email'];
$con = mysql_connect("3306","root","");
mysql_select_db("myDB",$con);
$query = mysql_query("INSERT INTO userinfo(Name, Email) VALUES('$name','$email')");
if($query)
{
echo "Information submitted successfully.";
}
mysql_close();
?>
Note : PHP version 7.0.0 से MySQL extension को remove कर दिया गया है। यदि आप PHP version 7.0.0 या उससे आगे का कोई PHP version use कर रहे है तो ऊपर बताये गए MySQL functions द्वारा आप MySQL database को handle नहीं कर सकते है। इसके लिए आपको MySQLi extension या PDO_MySQL extension को use करने की आवश्यकता है।