PHP এর সাথে MySQLi কনফিগারেশন

MySQLi ইনস্টলেশন এবং সেটআপ - মাইএসকিউএল আই (MySQLi) - Database Tutorials

297

MySQLi (MySQL Improved) হল MySQL ডেটাবেজের জন্য পিএইচপির একটি উন্নত এক্সটেনশন, যা ডেটাবেজের সাথে যোগাযোগের জন্য উন্নত পারফরম্যান্স এবং নিরাপত্তা প্রদান করে। এটি MySQL ডেটাবেজের সাথে সংযোগ, ডেটা রিট্রিভ, ইনসার্ট, আপডেট, ডিলিট ইত্যাদি অপারেশন সহজ করে তোলে। MySQLi দুই ধরনের API সরবরাহ করে:

  1. মাইএসকিউএল আই অবজেক্ট-ওরিয়েন্টেড পদ্ধতি (MySQLi Object-Oriented)
  2. মাইএসকিউএল আই প্রোসিজারাল পদ্ধতি (MySQLi Procedural)

এই টিউটোরিয়ালে আমরা PHP এবং MySQLi এর মধ্যে কনফিগারেশন এবং ডেটাবেজ অপারেশনগুলো ব্যাখ্যা করব।


PHP এবং MySQLi কনফিগারেশন

PHP এর সাথে MySQLi কনফিগারেশন করার জন্য প্রথমে ডেটাবেজের সাথে সংযোগ স্থাপন করতে হয়। এটি দুটি পদ্ধতিতে করা যেতে পারে: অবজেক্ট-ওরিয়েন্টেড পদ্ধতি এবং প্রোসিজারাল পদ্ধতি


১. MySQLi অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে সংযোগ

অবজেক্ট-ওরিয়েন্টেড পদ্ধতিতে MySQLi ব্যবহার করলে আপনি mysqli ক্লাসের একটি অবজেক্ট তৈরি করে ডেটাবেজের সাথে সংযোগ স্থাপন করতে পারবেন।

ডেটাবেজ সংযোগ কোড (অবজেক্ট-ওরিয়েন্টেড পদ্ধতি)

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database";

// MySQLi অবজেক্ট তৈরি
$conn = new mysqli($servername, $username, $password, $dbname);

// সংযোগ চেক করা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

এখানে:

  • new mysqli(): এটি MySQLi অবজেক্ট তৈরি করে, যা ডেটাবেজের সাথে সংযোগ স্থাপন করতে সহায়তা করে।
  • $conn->connect_error: যদি সংযোগে কোনো সমস্যা থাকে, তবে এটি সংযোগের ত্রুটি প্রদর্শন করে।

২. MySQLi প্রোসিজারাল পদ্ধতিতে সংযোগ

প্রোসিজারাল পদ্ধতিতে MySQLi ব্যবহার করার জন্য mysqli_connect() ফাংশন ব্যবহার করা হয়।

ডেটাবেজ সংযোগ কোড (প্রোসিজারাল পদ্ধতি)

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database";

// MySQLi সংযোগ স্থাপন
$conn = mysqli_connect($servername, $username, $password, $dbname);

// সংযোগ চেক করা
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

এখানে:

  • mysqli_connect(): এটি MySQLi প্রোসিজারাল ফাংশন, যা ডেটাবেজের সাথে সংযোগ স্থাপন করে।
  • mysqli_connect_error(): সংযোগ ত্রুটি চেক করতে ব্যবহৃত হয়।

৩. MySQLi দিয়ে ডেটাবেজ অপারেশন

MySQLi দিয়ে বিভিন্ন ডেটাবেজ অপারেশন যেমন SELECT, INSERT, UPDATE, DELETE ইত্যাদি করা যায়।

১. ডেটা রিট্রিভ (SELECT)

<?php
// SQL কোয়েরি তৈরি করা
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

// রেজাল্ট চেক করা এবং ডেটা প্রিন্ট করা
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 results";
}
?>

এখানে:

  • query(): SQL কোয়েরি রান করে।
  • fetch_assoc(): রিটার্ন করা রেকর্ড থেকে অ্যাসোসিয়েটিভ অ্যারে তৈরি করে।

২. ডেটা ইনসার্ট (INSERT)

<?php
// SQL ইনসার্ট কোয়েরি তৈরি করা
$sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com')";

// কোয়েরি রান করা এবং চেক করা
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

এখানে:

  • query(): SQL ইনসার্ট কোয়েরি চালায়।
  • TRUE: যদি ইনসার্ট সফল হয়, তবে TRUE রিটার্ন করে।

৩. ডেটা আপডেট (UPDATE)

<?php
// SQL আপডেট কোয়েরি তৈরি করা
$sql = "UPDATE users SET email='new.email@example.com' WHERE id=1";

// কোয়েরি রান করা এবং চেক করা
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

এখানে:

  • UPDATE: SQL স্টেটমেন্ট ব্যবহার করে ডেটাবেজে ডেটা আপডেট করা হয়।
  • WHERE: কোন রেকর্ড আপডেট করতে হবে তা নির্ধারণ করে।

৪. ডেটা মুছে ফেলা (DELETE)

<?php
// SQL ডিলিট কোয়েরি তৈরি করা
$sql = "DELETE FROM users WHERE id=1";

// কোয়েরি রান করা এবং চেক করা
if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

এখানে:

  • DELETE: SQL স্টেটমেন্ট ব্যবহার করে ডেটাবেজ থেকে রেকর্ড মুছে ফেলা হয়।
  • WHERE: নির্দিষ্ট রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়।

৪. Prepared Statements ব্যবহার করা

MySQLi এর Prepared Statements ব্যবহার করে SQL Injection আক্রমণ থেকে নিরাপদ থাকা যায়। এটি ডেটা ইনপুট ভ্যালিডেশন এবং নিরাপত্তার জন্য গুরুত্বপূর্ণ।

Prepared Statements উদাহরণ

<?php
// SQL Prepared Statement তৈরি করা
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);

// প্যারামিটার সেট করা
$name = "Jane Doe";
$email = "jane.doe@example.com";

// কোয়েরি রান করা
$stmt->execute();

echo "New record created successfully";

// স্টেটমেন্ট বন্ধ করা
$stmt->close();
?>

এখানে:

  • prepare(): SQL স্টেটমেন্ট প্রস্তুত করে।
  • bind_param(): প্যারামিটারগুলো প্রস্তুত স্টেটমেন্টে বাইন্ড করে।
  • execute(): কোয়েরি রান করে।

সারাংশ

MySQLi (MySQL Improved) পিএইচপির একটি শক্তিশালী এক্সটেনশন যা MySQL ডেটাবেজের সাথে সংযোগ এবং ডেটাবেজ অপারেশনগুলি সহজ করে তোলে। এটি অবজেক্ট-ওরিয়েন্টেড এবং প্রোসিজারাল পদ্ধতিতে কাজ করতে পারে এবং নিরাপদ SQL কোয়েরি ব্যবহারের জন্য Prepared Statements সমর্থন করে। MySQLi ব্যবহারে ডেটাবেজের সাথে কার্যকরভাবে ইন্টারঅ্যাক্ট করা সম্ভব এবং SQL Injection থেকে সুরক্ষা পাওয়া যায়।

Content added By
Promotion

Are you sure to start over?

Loading...