PHP And MySQL
Last Updated on Saturday, 15 November 2008 17:20 Written by Zack Wednesday, 17 September 2008 09:49
PHP နဲ ့ တျခား Database ေတြခ်ိတ္ျပီး အသံုးျပဳလို ့ရေပမယ့္ ကၽြန္ေတာ္ PHP + MySQL အတြဲ ကို ပဲ ေရးပါမယ္
ဘာျဖစ္လို ့လဲဆိုေတာ့ Joomla က PHP + MySQL ကုိ Base လုပ္ျပီး ေရးထားတာျဖစ္လို ့ပါပဲ ကၽြန္ေတာ္
အဓိကေျပာျပခ်င္တာက Joomla အေၾကာင္း ျဖစ္ပါတယ္ ဒါေပမယ့္ PHP ကုိ မသိရင္ Joomla ထဲမွာ Debug
လုပ္ရတာခက္ပါလိမ့္မယ္
ဒါေၾကာင့္ ကၽြန္ေတာ္ PHP ရဲ ့အေျခခံေလးေတြကို
အရင္ဆံုး ရွင္းျပေနတာပါ
OK! MySQL ကုိ ဘယ္လို connect လုပ္မယ္ဆိုတာ
စလိုက္ၾကရေအာင္
Connecting to a MySQL Database
ကၽြန္ေတာ္တို ့ Database ကို တစ္ျခား Access ေတြ မလုပ္ခင္ ေျပာရမယ္ဆိုရင္ Data ေတြ အသြင္း ၊ အထုတ္
မလုပ္ခင္မွာ အရင္ဆံုး Database ကုိ Connection အရင္ ယူရပါမယ္။ တစ္ျခား Programming Language
ေတြလိုပါပဲ။ PHP မွာ ကေတာ့ MySQL ကုိ Connect လုပ္ရာမွာ အရမ္းကို ရိုးရွင္း ပါတယ္ဗ်ာ။
mysql_ connect( ) ဆိုတဲ့ Function ေလးနဲ ့တင္ လံုေလာက္ပါတယ္။
Syntax
mysql_connect(servername,username,password);
Servername - သင့္ရဲ ့ Database server name ကုိ ေျပာတာပါ Local မွာဆိုရင္ေတာ့ localhost (or) localhost:3306
Username Database ကို Access လုပ္မယ့္ User ျဖစ္ပါတယ္
Password Access လုပ္မယ့္ User ရဲ ့ password ကုိ ေျပာတာျဖစ္ပါတယ္
Eg;
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}else{
echo "Connected to DB";
}
?>
ကၽြန္ေတာ္ Sample Program ေလးအရ MySQL ကုိ Connect လုပ္လို ့ရတယ္ဆိုရင္ Connected to DB
လုိ္ ့ျပပါလိမ့္မယ္
Closing a connection
Database ကုိ ဖြင့္ျပီးရင္ Script ဆံုးတာနဲ ့ျပန္ျပီး ပိတ္ခဲ့တာ အေကာင္းဆံုး ျဖစ္ပါတယ္။ ဒီ mysql_close( )
သံုးျပီး Database ကုိျပန္ပိတ္လို ့ရပါတယ္ ။
eg;
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
mysql_close($con);
?>
Insert Data Into a Database Table
INSERT INTO Statement ကို New Record တစ္ခုကို Table ထဲ ထည့္ခ်င္ရင္ သံုးပါတယ္
INSERT INTOs Syntax
INSERT INTO table_name
VALUES (value1, value2,....)
တစ္ကယ္လို ့ဘယ္ Field ကို ထည့္ခ်င္တယ္ဆိုတာ သတ္မွတ္ခ်င္တယ္ဆိုရင္
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
INSERT INTO ဆိုတဲ့ keyword ကို အၾကီးနဲ ့ေရးေရး ၊ အေသးနဲ ့ေရးေရး ျပႆနာမရွိပါဘူး အတူတူပါပဲ Case Sensitive မဟုတ္ပါဘူး
![]()
Eg;
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO person (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO person (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>
Insert Data From a Form To a Database Table
Logic ကေတာ့ အတူတူပဲ ျဖစ္ပါတယ္ ။ ဒါေပမယ့္ sample ကေတာ့ HTML Form ကလာတဲ့ Value ေတြကိုTable ထဲကုိ Insert လုပ္ထားတဲ့ Sample ေလးျဖစ္ပါတယ္ ။ ဒီ Sample မွာ mysql_error ဆိုတဲ့ Function
ေလးကို ေတြ ့နိဳင္ပါတယ္ ။ ဒါကေတာ့ Error တက္လာရင္ Error ကို Print ရိုက္ထုတ္လိုက္တဲ့ Function
ျဖစ္ပါတယ္ ။
Here is the HTML form:
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
Below is the code in the "insert.php" page:
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
PHP MySQL Select Statement
Database ထဲက Data ေတြကို Retrieve လုပ္ခ်င္ရင္သံုးပါတယ္။
Syntax
SELECT column_name(s)
FROM table_name
Eg;
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>
ဒီ example မွာ select query ကုိ mysql_query function ထဲ ထည့္ျပီး RUN သြားတာကို ေတြ ့နိဳင္ပါတယ္။
ရလာတာကို $result variable ထဲကို ထည့္ထားလိုက္ပါတယ္။ ေနာက္တစ္ခု ေတြ ့နိဳင္တာကေတာ့
mysql_fetch_array function ပဲ ျဖစ္ပါတယ္။ ဒီ function ကေတာ့ recordset ထဲက first row ကို array
အေနနဲ ့return ျပန္ေပးလိုက္တဲ့ function ျဖစ္ပါတယ္။ while loop ကေတာ့ recordset ထဲမွာ ရွိေနတဲ့
record ေတြကို $row variable သံုးျပီး ရိုက္ထုတ္သြားပါလိမ့္မယ္။
မိမိ retrieve လုပ္လိုက္တဲ့ Data ေတြကုိ Grid ပံုစံနဲ ့ ရိုက္ျပခ်င္ရင္ ဒီ sample ေလးကို ၾကည့္လုိက္ပါ။ HTML
မွာ သံုးတဲ့ Table ကုိ loop သံုးျပီး Grid ပံုစံမ်ိဳးရေအာင္ ရိုက္သြားတဲ့ သေဘာျဖစ္ပါတယ္။ Sample ေလးကို
ၾကည့္ရင္သိပါလိမ့္မယ္။
Display The Result In a HTML Table
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
The output of the code above will be:
Firstname Lastname David
Robet
Peter Chech
PHP MySQL update statement
Update statement ကို Data ေတြကို Modify လုပ္ခ်င္ရင္ သံုးပါတယ္။
Syntax
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
Eg;
ဒါကေတာ့ Person ဆိုတဲ့ Table ျဖစ္ပါတယ္။ Update မလုပ္ခင္ Data ျဖစ္ပါတယ္။
FirstName LastName Age Peter Chech
35 David
Robet
33
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE Person SET Age = '36'
WHERE FirstName = 'Peter' AND LastName = 'Chech'");
mysql_close($con);
?>
ဒီ sample ေလးမွာ update query ကို mysql_query function ထဲကို ထည့္ျပၽီး RUN သြားတာကို
ေတြ ့နိဳင္ပါတယ္။ ျပီးရင္ Person Table ထဲမွာ Data Update ျဖစ္သြားတာကို ျပန္ၾကည့္နိဳင္ပါတယ္။
FirstName LastName Age Peter Chech 36 David Robet 33
PHP MySQL Delete Statement
Delete Statement ကိုေတာ့ Data ေတြကို Delete လုပ္ခ်င္ရင္ သံုးပါတယ္။
Syntax
DELETE FROM table_name
WHERE column_name = some_value
ဒါကေတာ့ Person ဆိုတဲ့ Table ျဖစ္ပါတယ္။ Delete မလုပ္ခင္ Data ျဖစ္ပါတယ္။
Eg;
FirstName LastName Age Peter Chech 35 David Robet 33
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("DELETE FROM Person WHERE LastName='Chech'");
mysql_close($con);
?>
ဒီ Sample ေလးမွာလည္း Delete Query ကို mysql_query function ထဲကိုပဲ ထည့္ျပီး RUN ပါလိမ့္မယ္။
PHP မွာေတာ့ ဘယ္ query ကုိပဲ RUN ခ်င္ခ်င္ mysql_query function ကိုပဲ သံုးပါတယ္။ RUN ျပီးရင္ Table
ထဲမွာ 1 Row ပဲ က်န္ေတာ့တယ္ဆိုတာကို ၾကည့္နိဳင္ပါတယ္။
FirstName LastName Age David Robet
33
တျခား PHP Post ေတြအားလုံး ကို ႏွစ္သက္ရာ ေရြးဖတ္ ခ်င္တယ္ဆိုရင္ ဒီ Link ေလးကို Click လိုက္ပါ။
| < Prev |
|---|
Login Form
Latest Post
Categories Table View
- Reader's Conner (133)
- PHP (48)
- Joomla CMS (46)
- Codeigniter (18)
- jQuery (12)
- iDhamma (11)
- Mobile Development (10)
- PHP & AJAX (4)
- Apache (3)
- For Mac (3)
- mySQL (2)
- DhammaDroid (1)
connection funtion ကို run လိုက္တာဒီလ ိုေပၚေနတယ္ ။
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\connect.php on line 2
Could not connect:Access denied for user 'root'@'localhost' (using password: YES)
ဘယ္လိုဆက္လ ုပ္ရမလဲ။ ကူညီပါေနာ္ ။