ကဗ်ာ/ရသ/နည္းပညာ

Create Database using PHP

Sep 16, 2013
Database တစ္ခုကုိ PHP သံုးၿပီးေဆာက္ပါမယ္ ။
ဒါကုိေလ့လာမယ္ဆိုရင္ SQL Query ကုိသိၿပီးသားလို႕ သတ္မွတ္ပါမယ္ ။
ဘာေၾကာင့္လည္းဆိုေတာ့ SQL Query ေရးသားပံုကုိ မေျပာေတာ့ပါဘူး ။
PHP ရဲ႕ Function ေတြနဲ႕ခ်ိတ္ဆက္ ၿပီး သံုးတာကုိပဲျပသြားမွာျဖစ္ပါတယ္ ။
အရင္က Web Blog တစ္ခု ဖန္တီးမယ္ဆိုရင္ Database တစ္ခု ကုိၾကိဳ
ေဆာက္ထားရပါတယ္ ။ ၿပီးမွ Data input putput ေတြေဆာင္ရြက္ပါတယ္ ။
ဒီနည္းေလးသံုးမယ္ဆိုရင္ PHP myadmin ထဲ လံုး၀ မ၀င္ပဲ အစအဆံုး
ဖန္တီးႏိုင္ပါလိမ့္မယ္ ။
Database ကုိ Movies ေတြ ကုိစာရင္းျပဳစုတဲ့ Web အတြက္လို႕သေဘာထားလိုက္မယ္ ။
အဲဒီမွာ movie ဆိုတဲ့ နာမည္နဲ႕ Database တစ္ခုေဆာက္မယ္။အဲဒီထဲမွာ movietype table
နဲ႕ people table ႏွစ္ခုထည့္မယ္။OK ? စမယ္ ။
Connection တည္ေဆာက္ဖို႕ mysql_connect() function ကုိသံုးမယ္ ။ အဲဒီထဲမွာ
hostname, Database username ,Database password ထည့္ေပးရပါတယ္ ။
ဒီလိုေလးေပါ့ mysql_connect('hostname ','username','password')
localhost မွာ သံုးမယ္ ဆိုရင္ hostname =localhost ,username = root , password မေပးထားပါဘူး။
ဒီေန၇ာမွာ 'hostname ','username' တစ္ခုခုကသာလြဲေနမယ္ဆိုရင္ error တတ္ပါမယ္ ။
အလြယ္ဆံုးerror ေျဖရွင္းနည္းကေတာ့ die() Method ေလးယူသံုးတာပါ ။ကြင္းထဲမွာ Error Message
ထည့္ေပးလို႕ရပါတယ္ ။error အတြက္ message မေရးေပးခ်င္လည္းရပါတယ္ ။ အဲဒီ error
မွာ Program ကသတ္မွတ္ေပးတဲ့ Error Message ရွိၿပီးသားပါ ။အဲဒီ Error ကုိပဲေခၚျပခ်င္ရင္ေတာ့ mysql_error()
ဆိုတဲ့ Method ေလးသံုးယံုပါပဲ ။ ဒါေပမယ့္ အဲဒါက ေျပာရရင္ သာမန္အားျဖင့္နားလည္ဖို႕ခက္ပါတယ္ ။
ဒါေၾကာင့္ ကုိယ့္ဖာသာ Error Message ဖန္တီးေပးတာကပိုေကာင္းပါတယ္ ။
ပထမ Connection ေဆာက္မယ္ error ျဖစ္ရင္ messageတစ္ခု ျပမယ္။
or နဲ႕ဆက္ေပးလိုက္မယ္ဆိုရင္ ဒီလိုေလးရမယ္ ။
$db = mysql_connect('localhost','root','') or
die ('Unable to connect. Check your connection parameters.');
ေနာက္ထပ္ေရးရမယ့္Database ထဲကလုပ္ေဆာင္ခ်က္ေတြအတြက္ကေတာ့ Query ေတြေရးရမွာေပါ့ ။
အဲဒီ Query ေတြကPHP Language မဟုတ္ျပန္ဘူး ။ ဒီေတာ့ PHP နဲ႕အဆင္ေျပေျပသံုးႏိုင္ဖို႕
mysql_query() Method ကုိယူသံုးရပါတယ္ ။
ဥပမာျပရရင္-
$query = 'CREATE DATABASE IF NOT EXISTS movie';
mysql_query($query) ;
ပထမ CREATE DATABASE IF NOT EXISTS movie ဆိုတဲ့ Query Language နဲ႕ movie ဆိုတဲ့
Database တစ္ခုေဆာက္လိုက္တယ္ ။ ဒါကုိ $query နာမည္ေပးထားတဲ့ Variable ထဲသြားထည့္တယ္။
အဲဒါကုိ မွ တစ္ခါ mysql_query() မွာေတာ့ သြားျပန္ထည့္တယ္ ။ဒါဆို အဲဒီ Query PHP မွာ အလုပ္လုပ္ၿပီ ။

$ db ကုိပါထည့္ေပးခ်င္ရင္ေတာ့ ေကာ္မာ ေလးခံၿပီးထည့္ေပးလို႕ရတယ္ ။ ဒါဆိုဒီလိုျဖစ္လိမ့္မယ္ ။
$query = 'CREATE DATABASE IF NOT EXISTS moviesite1';
mysql_query($query, $db) or die(mysql_error($db));
ဒီမွာေတာ့ error တတ္ရင္ သူ႕ Message ကုိပဲထုတ္ျပခိုင္းလိုက္တာေတြ႕လိမ့္မယ္ ။ ဒါဆို လုပ္တတ္ၿပီ ။
ေအာက္ကဥပမာေလးကုိနားလည္ေအာင္ၾကည့္ၾကည့္ ၿပီးရင္ page တစ္ခုေခၚ ၿပီး ေ၇း ။
<?php
$db = mysql_connect('localhost','root','') or
die ('Unable to connect. Check your connection parameters.');
//create the main database if it doesn’t already exist
$query = 'CREATE DATABASE IF NOT EXISTS moviesite1';
mysql_query($query, $db) or die(mysql_error($db));

//make sure our recently created database is the active one
mysql_select_db('moviesite1',$db) or die(mysql_error($db));
//Create the movie table
$query = 'CREATE TABLE IF NOT EXISTS movie (
            movie_id             INT UNSIGNED NOT NULL AUTO_INCREMENT,
            movie_name        VARCHAR(255) NOT NULL,
            movie_type         TINYINT NOT NULL DEFAULT 0,
            movie_year         SMALLINT UNSIGNED NOT NULL DEFAULT 0,
            movie_leadactor     INTEGER UNSIGNED NOT NULL DEFAULT 0,
            movie_director         INTEGER UNSIGNED NOT NULL DEFAULT 0,
            PRIMARY KEY (movie_id),
            KEY (movie_type, movie_year)
) ENGINE MYISAM' ;
mysql_query($query,$db) or die(mysql_error($db));
//Create the movietype table.
$query = 'CREATE TABLE IF NOT EXISTS movietype (
            movietype_id     TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
            movietype_label VARCHAR(100) NOT NULL,
            PRIMARY KEY (movietype_id)
)ENGINE MYISAM';
mysql_query($query,$db) or die (mysql_error($db));
//Create the people table
$query = 'CREATE TABLE IF NOT EXISTS people(
            people_id             INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
            people_fullname     VARCHAR(255) NOT NULL,
            people_isactor         TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
            people_isdirector     TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
            PRIMARY KEY (people_id)
)ENGINE MYISAM';
mysql_query($query,$db) or die (mysql_error($db));
echo ' Movie database successfully created!';
 ?>
localhost မွာ Run တာနဲ႕ Database ေဆာက္ၿပီးသားရၿပီ ။ မယံုဘူးလား၊မယံုရင္  phpmyadmin ထဲသြားၾကည့္ ။
အိုေခ? ။


လြပ္လပ္စြာကူးယူမွ်ေ၀ႏိုင္ပါသည္။
Aung Aung

No comments:

Post a Comment