পিএইচপি MySQL থেকে তথ্য সিলেক্ট
SQL SELECT
স্টেটমেন্ট ব্যবহার করে এক বা একাধিক টেবিল থেকে তথ্য সিলেক্ট করা যায়।
SELECT name_of_column's
FROM name_of_table
অথবা আমরা (*) ক্যারেক্টারটি ব্যবহার করে টেবিল থেকে সকল কলাম সিলেক্ট করতে পারি।
SELECT * FROM name_of_table
SQL সম্পর্কে আরো জানতে, আমাদের SQL টিউটোরিয়াল দেখুন।
নিম্নের উদাহরনটি "testTB" টেবিল থেকে id, firstname এবং lastname কলাম গুলো সিলেক্ট করবে এবং উক্ত পেজে প্রর্দশন করবেঃ
<?php
// সংযোগ তৈরি
$conn = mysqli_connect("localhost", "username", "password", "testDB");
// সংযোগ পরীক্ষা
if (!$conn) {
die("সংযোগ ব্যর্থ হয়েছেঃ " . mysqli_connect_error());
}
//ডেটাবেজ থেকে তথ্য সিলেক্ট
$sql = "SELECT id, firstname, lastname FROM testTB";
// result ভ্যারিয়েবলে প্রাপ্ত তথ্য জমা
$result = mysqli_query($conn, $sql);
// শুন্যের চেয়ে বেশি সারি আছে কিনা যাচাই
if (mysqli_num_rows($result) > 0) {
// প্রতিটি সারি থেকে প্রাপ্ত আউটপুট তথ্য
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "০ ফলাফল।";
}
// সংযোগ বিচ্ছিন্ন
mysqli_close($conn);
?>
<?php
// সংযোগ তৈরি
$conn = new mysqli($servername, $username, $password, $databasename);
// সংযোগ পরীক্ষা
if ($conn->connect_error) {
die("সংযোগ ব্যর্থ হয়েছেঃ " . $conn->connect_error);
}
//তথ্য সিলেক্ট
$sql = "SELECT id, firstname, lastname FROM testTB";
// result ভ্যারিয়েবলে প্রাপ্ত তথ্য জমা
$result = $conn->query($sql);
// শুন্যের চেয়ে বেশি সারি আছে কিনা যাচাই
if ($result->num_rows > 0) {
// প্রতিটি সারি থেকে প্রাপ্ত আউটপুট তথ্য
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "০ ফলাফল।";
}
// সংযোগ বিচ্ছিন্ন
$conn->close();
?>
উপরের উদাহরনের কোড লাইনগুলো নিম্নে বর্ণনা করা হলোঃ
প্রথমত আমরা একটি সংযোগ তৈরি করেছি। তারপর সংযোগটি পরীক্ষা করেছি। তারপর একটি কুয়েরি করেছি যা "testTB" টেবিল থেকে "id", "firstname" এবং "lastname" কলাম গুলোকে সিলেক্ট করে। পরবর্তী লাইনে "$result" নামে একটি ভ্যারিয়েবল নেওয়া হয়েছে যাতে কুয়েরি থেকে প্রাপ্ত সকল তথ্য জমা হয়।
তারপর num_rows()
ফাংশনটি পরীক্ষা করে দেখে এতে শূণ্যের চেয়ে বেশী ফলাফল আছে কিনা। যদি শূণ্যের চেয়ে বেশী ফলাফল থাকে সে ক্ষেত্রে fetch_assoc()
ফাংশনটি ফলাফল গুলোকে আসোসিয়েটিভ(associative) অ্যারেতে(array) রূপান্তর করে। এর পরবর্তীতে এই আসোসিয়েটিভ(associative) অ্যারেটি(array) থেকে While loop
এর মাধ্যমে ডেটাবেজ থেকে প্রাপ্ত "id", "firstname" এবং "lastname" কলামের তথ্য গুলোর আউটপুট পাই।
আপনি প্রাপ্ত তথ্য গুলোকে এইচটিএমএল টেবিল আকারে প্রদর্শন করাতে পারেনঃ
MySQLi অব্জেক্ট-অরিয়েন্টেড প্রক্রিয়াঃ
<?php
// সংযোগ তৈর
$conn = new mysqli("localhost", "username", "password", "testDB");
// সংযোগ পরীক্ষা
if ($conn->connect_error) {
die("সংযোগ ব্যর্থ হয়েছেঃ " . $conn->connect_error);
}
//ডেটাবেজ থেকে তথ্য সিলেক্ট
$sql = "SELECT id, firstname, lastname FROM testTB";
// result ভ্যারিয়েবলে প্রাপ্ত তথ্য জমা
$result = $conn->query($sql);
// শুন্যের চেয়ে বেশি সারি আছে কিনা যাচাই
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// প্রতিটি সারি থেকে প্রাপ্ত আউটপুট তথ্য
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "০ ফলাফল।";
}
// সংযোগ বিচ্ছিন্ন
$conn->close();
?>