পিএইচপি মাইএসকিউএল where ( MySQL Where Clause)

পিএইচপি মাইএসকিউএল (MySQL Database) - পিএইচপি প্রোগ্রামিং (PHP Programming) - Computer Programming

265

পিএইচপি মাইএসকিউএল Where Clause (PHP MySQL WHERE Clause)

MySQL WHERE Clause হল একটি SQL কমান্ড, যা একটি SQL SELECT, UPDATE, DELETE স্টেটমেন্টের মধ্যে নির্দিষ্ট শর্ত দিয়ে ডেটা ফিল্টার বা সিলেক্ট করতে ব্যবহৃত হয়। PHP এর মাধ্যমে আপনি MySQL Database থেকে ডেটা নির্বাচন করার সময় WHERE ক্লজ ব্যবহার করতে পারেন। এটি শর্ত ভিত্তিক ডেটা ফিল্টার করে, অর্থাৎ আপনি যদি নির্দিষ্ট ডেটা চান, তবে WHERE ক্লজের মাধ্যমে সেটি নির্ধারণ করা হয়।

MySQL WHERE Clause Syntax:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

এখানে:

  • column1, column2 ... হল আপনার সিলেক্ট করা কলামগুলো।
  • table_name হল টেবিলের নাম যেখান থেকে ডেটা নিয়ে আসতে চান।
  • condition হল সেই শর্ত যা আপনি ডেটা নির্বাচন করতে চান।

PHP Example with MySQL WHERE Clause:

এখন PHP এর মাধ্যমে MySQL WHERE Clause ব্যবহার করে ডেটা সিলেক্ট করার উদাহরণ দেখা যাক:

Step 1: Database Connection

প্রথমে আপনাকে MySQL ডাটাবেসে কানেক্ট করতে হবে। এটির জন্য mysqli_connect() ব্যবহার করা হয়।

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

Step 2: Using WHERE Clause with SELECT Query

এখন, WHERE ক্লজ ব্যবহার করে সিলেক্ট স্টেটমেন্ট লিখব, যাতে নির্দিষ্ট শর্ত অনুযায়ী ডেটা পাওয়া যাবে।

 30"; // Query with WHERE clause
$result = $conn->query($sql); // Execute query

if ($result->num_rows > 0) {
    // Output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "
"; } } else { echo "0 results"; } $conn->close(); // Close the connection ?>

এখানে:

  • SELECT id, name, age FROM users WHERE age > 30; এই কোয়েরি শুধু সেই ইউজারদের সিলেক্ট করবে যাদের বয়স ৩০ এর বেশি।
  • fetch_assoc() মেথড ব্যবহার করে রেজাল্টের রেকর্ডগুলো অ্যাসোসিয়েটিভ অ্যারে হিসেবে ফেচ করা হয়েছে।

MySQL WHERE Clause এর মধ্যে বিভিন্ন শর্ত ব্যবহার করা:

1. Equal (=)

$sql = "SELECT * FROM users WHERE age = 25";

2. Not Equal (!=)

$sql = "SELECT * FROM users WHERE age != 25";

3. Greater Than (>)

$sql = "SELECT * FROM users WHERE age > 30";

4. Less Than (<)

$sql = "SELECT * FROM users WHERE age < 30";

5. Greater Than or Equal To (>=)

$sql = "SELECT * FROM users WHERE age >= 25";

6. Less Than or Equal To (<=)

$sql = "SELECT * FROM users WHERE age <= 30";

7. LIKE (For Pattern Matching)

$sql = "SELECT * FROM users WHERE name LIKE 'J%'";

এটি name কলামে যেসব নাম J দিয়ে শুরু হয় তাদের সিলেক্ট করবে।

8. AND, OR Conditions

$sql = "SELECT * FROM users WHERE age > 25 AND gender = 'Male'";
$sql = "SELECT * FROM users WHERE age > 25 OR gender = 'Female'";

এখানে, প্রথম কোয়েরি age > 25 এবং gender = 'Male' দুটি শর্তে ডেটা নির্বাচন করবে, এবং দ্বিতীয় কোয়েরি age > 25 অথবা gender = 'Female' শর্তে ডেটা নির্বাচন করবে।

9. BETWEEN (Range)

$sql = "SELECT * FROM users WHERE age BETWEEN 20 AND 30";

এটি age ২০ থেকে ৩০ এর মধ্যে থাকা ইউজারদের সিলেক্ট করবে।

10. IN (Multiple Values)

$sql = "SELECT * FROM users WHERE id IN (1, 2, 3)";

এটি id ১, ২, অথবা ৩ এর সাথে মিল থাকা ইউজারদের সিলেক্ট করবে।

11. IS NULL (For NULL Values)

$sql = "SELECT * FROM users WHERE email IS NULL";

এটি সিলেক্ট করবে যেখানে email ফিল্ডটি NULL


Prepared Statements with WHERE Clause (For Security)

SQL ইনজেকশন রোধ করার জন্য Prepared Statements ব্যবহার করা উচিত। MySQLi বা PDO এর মাধ্যমে এই ধরনের স্টেটমেন্ট তৈরি করা হয়।

Prepared Statement Example:

prepare("SELECT id, name, age FROM users WHERE age > ?");
$stmt->bind_param("i", $age); // 'i' denotes the type (integer)
$age = 30;
$stmt->execute();
$result = $stmt->get_result();

while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "
"; } $stmt->close(); ?>

এখানে:

  • bind_param দিয়ে prepared statement এর প্যারামিটার বেঁধে দেওয়া হয়েছে, যা ইনপুট ভ্যালু নিরাপদভাবে যুক্ত করে।
  • execute() মেথড দিয়ে কোয়েরি চালানো হয়েছে।

সারসংক্ষেপ:

MySQL WHERE Clause হল SQL স্টেটমেন্টে একটি শক্তিশালী টুল যা পিএইচপি দিয়ে ডেটা ফিল্টার বা সিলেক্ট করার সময় ব্যবহৃত হয়। আপনি WHERE ক্লজ দিয়ে নির্দিষ্ট শর্তের মাধ্যমে ডেটা নির্বাচন করতে পারেন, যেমন সংখ্যা, স্ট্রিং, রেঞ্জ, প্যাটার্ন, বা মুলতুবি শর্ত। পিএইচপি দিয়ে MySQL WHERE Clause ব্যবহারের সময়, আপনি Prepared Statements ব্যবহার করে সিকিউর কোডও লিখতে পারেন, যা SQL ইনজেকশন প্রতিরোধে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...