পাঠশালা বিভাগের গত সংখ্যায় আমরা দেখেছিলাম কিভাবে মাইএসকিউএলে কোয়েরি নিয়ে কাজ করা যায়। কিন্তু কোয়েরি নিয়ে কাজ করার ফল স্ক্রিপ্টে দেখার জন্য ডাটাবেজের সাথে পিএইচপির কানেকশন কিভাবে করতে হয়, তা জানা জরুরি। এ সংখ্যায় দেখানো হয়েছে কিভাবে ডাটাবেজের সাথে বিশেষ করে মাইএসকিউএলের সাথে পিএইচপি যুক্ত করা যায়। কানেকশনের সাথে সাথে ওয়েবপেজ থেকে ডাটাবেজ আপডেট করার প্রক্রিয়াও দেখানো হয়েছে।
পিএইচপির সাথে মাইএসকিউএলের সংযোগ স্থাপন করতে না পারলে স্ক্রিপ্টিং ল্যাঙ্গুয়েজে ডাটাবেজ হিসেবে মাইএসকিউএলের ব্যবহার করা যায় না। এবার দেখা যাক পিএইচপির সাথে মাইএসকিউএলের সংযোগ কিভাবে করতে হয়।
পিএইচপির সাথে মাইএসকিউএলের সংযোগ স্থাপন করার জন্য sql_connect ( ) নামের একটি ফাংশন ব্যবহার করা হয়। এই ফাংশনটি ব্যবহার করা হয় কোনো নির্দিষ্ট ইউজার এবং তার পাসওয়ার্ড ব্যবহার করে।
ফাংশনটি অনেকটা এরকম my sql_connect (host, username, password) ।
এই ফাংশন ব্যবহার করার জন্য প্রথমে একটি ডাটা টাইপ নিতে হয় যাতে এই ফাংশনটি নিয়ে কাজ করা যায়। ধরা যাক, সেই টাইপটি dbconn। তাহলে সিনট্যাক্স লিখতে হবে $dbconn = mysql_connect(“localhost” ,”xxx”,”111”);
এখানে ইউজার নেমের জায়গায় xxx এবং পাসওয়ার্ডের জায়গায় ১১১ দেয়া হয়েছে। এটিকে ইচ্ছেমতো পরিবর্তন করা যাবে। পরিবর্তন যেভাবে করা যাবে তা নিম্নরূপ :
$host = “localhost”;
$username = “xxx”;
$password = “111”;
$dbconn = mysql_connect($host, $username, $password);
এর একটি উদাহরণ দেয়া হলো :
$host = “localhost”;
$usernarne = “suehring”;
$password = “evh5150”;
include(“/usr/local/apache/htdocs/chap16/dbconnect.php”);
$dbconn = mysql_connect($host,$username, $password) or die (“Cannot connect to database server”);
?>
পিএইচপিতে ডাটা টাইপ চেনার আলাদা কোনো উপায় না থাকায় পিএইচপি স্বয়ংক্রিয়ভাবে ডাটা টাইপ পিএইচপি চিনে নেয়। তাই পিএইচপিতে কোড লেখার সময় কোডারকে এ ব্যাপারটি মাথায় রাখতে হবে। প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং বিভিন্ন অ্যাপ্লিকেশন কাজ করে ডাটা নিয়ে। প্রোগ্রামিং ল্যাঙ্গুয়েজ এই ডাটা কত ভালোভাবে ব্যবস্থাপনা করতে পারে, তার ওপর নির্ভর করে প্রোগ্রামিং ল্যাঙ্গুয়েজের দক্ষতা। আর যাবতীয় ডাটা রক্ষণাবেক্ষণ এবং কাজে লাগানো হয় প্রোগ্রামিং ল্যাঙ্গুয়েজের ভেরিয়েবল এবং ডাটা টাইপের মাধ্যমে। ভেরিয়েবল এবং ডাটা টাইপের কনসেপ্ট কাছাকাছি। প্রোগ্রামিং ল্যাঙ্গুয়েজের কিছু নির্দিষ্ট ধরনের ভেরিয়েবলকেই ডাটা টাইপ বলা হয়ে থাকে। ইন্টিজার, ডাবল, ফ্লোট, ক্যারেক্টার (স্ট্রিং হচ্ছে ক্যারেক্টার দিয়ে তৈরি করা অ্যারে) প্রভৃতি হচ্ছে ডাটা টাইপ। স্ক্রিপ্টিং নিয়ে কাজ করতে গেলে প্রায়ই ডাটাবেজ নিয়ে কাজ করতে হয়।
ইন্টিজার হচ্ছে পূর্ণ সংখ্যা। দশমিক স্থানীয় কোনো সংখ্যা ইন্টিজারে রাখা যায় না। সাধারণ গাণিতিক হিসেব নিকেশের জন্য ইন্টিজার ব্যবহার করা হয়ে থাকে।
ডাবল হচ্ছে ফ্লোটিং পয়েন্ট সংখ্যা। দশমিক স্থানীয় সংখ্যা রাখার জন্য ডাবল ব্যবহার করা হয়ে থাকে। ভাগফল থেকে শুরু করে দশমিক সহকারে যেকোনো সংখ্যা ডাবলে রাখা যায়।
বুলিয়ান এমন এক ধরনের ডাটা টাইপ, যাতে দুই ধরনের ভ্যালু রাখা যায়। একটি TRUE এবং আরেকটি FALSE।
নাল একটি ডাটা টাইপ যাতে মাত্র একটি ভ্যালু রাখা যায়। ভ্যালুটি হচ্ছে NULL। এই ডাটা টাইপগুলো সবচেয়ে বেশি ব্যবহার করা হয়। এগুলো ছাড়াও আরো অনেক অনেক ধরনের ডাটা টাইপ পিএইচপিতে পাওয়া যায়।
পিএইচপিতে ডাটাবেজ সিলেক্ট এবং কোয়েরি সিলেক্ট করার জন্য কিছু ফাংশন ব্যবহার করা হয়ে থাকে। এগুলো হচ্ছে :
mysql_select_db(
)
mysql_query_db(, query)
এগুলোর মাধ্যমে মাইএসকিউএলে ব্যবহার করা বা আগে থেকে তৈরি করা এসকিউএল বা কোয়েরি সরাসরি পিএইচপিতে ট্রান্সফার করা যায়। গত সংখ্যায় দেখানো কোয়েরিগুলো সরাসরি এই ফাংশন দিয়ে পিএইচপিতে কাজ করানো যায়। এরকম কোয়েরির একটি উদাহরণ দেখা যাক :
include(“/usr/local/apache/htdocs/chap16/dbconnect.php”);$dbconn = mysql_connect($host,$username,$password) or die
(“Cannot connect to database server”);
$db = mysql_select_db( “mysql “) or die
(“Could not connect to database\n”);
$result = mysql_query(“select user,host from user”);
print “\n”;
while ($row = mysql_fetch_assoc($result)) {
print “
\n”; while (list ($key,$value) = each($row))
print “
\n” ;
print “$value\n”;
print “ | \n”;
print “
\n”; } print “
\n”;
?>
এরকম আরেকটি ফাংশন হচ্ছে মাইএসকিউএল ফেচ mysql_fetch()? এই ফাংশনের একটি উদাহরণ দেখানো হলো :
include(“/usr/local/apache/htdocs/chap16/dbconnect.php”);
$dbconn = mysql_connect($host,$username,$password) or die (“Cannot connect to database server”);
$db = mysql_select_db(“mysql”) or die (“Could not connect to
database\n”);
$result = mysql_query(“select user,host from user”);
print “
\n”;
while ($row = mysql_fetch_row($resul t)); print “
\n”; print “
$row[0] | \n”; print “
$row[1] | <\n”; print “
\n”;
print “
\n”;
?>
এভাবে মাইএসকিউএল থেকে পিএইচপিতে ডাটাবেজ কানেকশনের পর তা আপনাআপনিই ডাটার সাথে স্ক্রিপ্টের যোগাযোগ স্থাপিত হবে। কিন্তু যোগাযোগ স্থাপনই সব কথা নয়। পিএইচপি থেকে ডাটাবেজ এডিট করার সুবিধা থাকা প্রয়োজন। এই এডিট করার জন্য পিএইচপি থেকে ডাটাবেজ আপডেট করার ব্যবস্থা থাকতে হবে।
পিএইচপি থেকে এভাবে ডাটাবেজ আপডেট করার এরকম একটি উদাহরণ নিম্নরূপ :
include(“/usr/local/apache/htdocs/chapl6/dbconnect.php”);
$dbconn = mysql_connect($host,$username,$password) or die
(“Cannot connect to database server”);
$db = mysql_select_db(“ecommerce”) or die
(“Could not connect to database\n”);
$result = mysql_query(“INSERT INTO customer VALUES
(‘suehringingermen.com’,’Steve’, ‘Suehring’ ,
‘4 Ma in St.’,’’, ‘54481’, ‘715’ , ‘555-1212’)”) or die
(“Could not execute insert \ n”) ;
?>
শুধু ডাটাবেজের রো আপডেট করার ফাংশন ব্যবহার করে স্ক্রিপ্ট এডিট করার একটি উদাহরণ নিম্নরূপ :
include(“/usr/local/apache/htdocs/chapl6/dbconnect.php”);
$dbconn = mysql_connect($host,$username,$password) or die
(“Cannot connect to database server”);
$db = mysql_select_db(“ecommerce”) or die
(“Could not connect to database\n”);
$result = mysql_query(“INSERT INTO customer VALUES
( ‘suehringingermen.com’,’Steve’,’Suehring’ ,
‘4 Main St.’,’’,’54481’,’715’,’555-1212’)”) or die
(“Could not execute insert \ n”) ;
# Determine the number of inserted rows. $rows_inserted = mysql_affected_rows($dbconn);
print “Inserted $rows_inserted rows\n”;
?>
শুধু মাইএসকিউএলই নয়, অন্যান্য ডাটাবেজের সাথেও একইভাবে পিএইচপিতে কানেক্ট করা যায়। আশা করি ডাটাবেজের সাথে পিএইচপিতে কানেকশন নিয়ে আর সমস্যা থাকবে না কারো। ভবিষ্যতে অন্যান্য ডাটাবেজের সাথে পিএইচপির কানেকশন দেখানোর ইচ্ছে থাকল।