Update: ডেটা আপডেট করা (UPDATE)

MySQLi এ CRUD অপারেশন - মাইএসকিউএল আই (MySQLi) - Database Tutorials

264

MySQLi (MySQL Improved) ব্যবহার করে ডেটাবেসে UPDATE ক্যোয়ারি চালিয়ে বিদ্যমান ডেটা আপডেট করা যায়। এটি সাধারণত তখন ব্যবহৃত হয় যখন আপনি একটি নির্দিষ্ট রেকর্ডের একটি বা একাধিক মান পরিবর্তন করতে চান।

MySQLi এর Object-Oriented API ব্যবহার করে ডেটা আপডেটের জন্য নিচে একটি উদাহরণ দেওয়া হলো:


MySQLi Object-Oriented API এর মাধ্যমে UPDATE ক্যোয়ারি

ডেটাবেসের একটি টেবিলের নির্দিষ্ট রেকর্ডের মান পরিবর্তন করতে UPDATE ক্যোয়ারি ব্যবহার করা হয়। উদাহরণস্বরূপ, নিচে একটি users টেবিলের email ফিল্ড আপডেট করার পদ্ধতি দেওয়া হলো।

উদাহরণ: UPDATE ক্যোয়ারি ব্যবহার করে ডেটা আপডেট করা

<?php
// ডেটাবেসে সংযোগ স্থাপন করা
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// সংযোগ সফল না হলে ত্রুটি দেখানো
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// আপডেট ক্যোয়ারি
$sql = "UPDATE users SET email='newemail@example.com' WHERE id=1";

// ক্যোয়ারি এক্সিকিউট করা
if ($mysqli->query($sql) === TRUE) {
    echo "Record updated successfully.";
} else {
    echo "Error: " . $sql . "<br>" . $mysqli->error;
}

// সংযোগ বন্ধ করা
$mysqli->close();
?>

এখানে, আমরা users টেবিলের email ফিল্ডটি আপডেট করছি যেখানে id ১।

  1. UPDATE স্টেটমেন্ট দিয়ে টেবিলটি নির্দিষ্ট করা হয়, যেটির কলাম পরিবর্তন করতে হবে।
  2. SET কীওয়ার্ডের মাধ্যমে কোন কলামের মান পরিবর্তন করা হবে তা নির্ধারণ করা হয়।
  3. WHERE ক্লজটি ব্যবহার করা হয়, যাতে শুধুমাত্র নির্দিষ্ট রেকর্ড (এক্ষেত্রে id=1) আপডেট হয়।

যদি স্টেটমেন্টটি সফলভাবে সম্পন্ন হয়, তবে "Record updated successfully." বার্তা দেখানো হবে, অন্যথায় ত্রুটি বার্তা প্রদর্শিত হবে।


Prepared Statements এর মাধ্যমে UPDATE ক্যোয়ারি

প্রিপেয়ারড স্টেটমেন্ট (Prepared Statement) ব্যবহার করলে SQL ইনজেকশন প্রতিরোধ করা যায়, যা নিরাপত্তার জন্য খুবই গুরুত্বপূর্ণ। নিচে Prepared Statement এর মাধ্যমে UPDATE ক্যোয়ারি চালানোর উদাহরণ দেওয়া হলো:

<?php
// ডেটাবেসে সংযোগ স্থাপন করা
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// সংযোগ সফল না হলে ত্রুটি দেখানো
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// প্রিপেয়ারড স্টেটমেন্ট তৈরি করা
$stmt = $mysqli->prepare("UPDATE users SET email = ? WHERE id = ?");

// প্যারামিটার বাইন্ড করা
$stmt->bind_param("si", $email, $id);

// ভ্যালু সেট করা
$email = "updatedemail@example.com";
$id = 1;

// স্টেটমেন্ট এক্সিকিউট করা
$stmt->execute();

// সফলভাবে আপডেট হলে বার্তা
echo "Record updated successfully.";

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

// সংযোগ বন্ধ করা
$mysqli->close();
?>

এখানে:

  1. prepare() মেথডের মাধ্যমে SQL স্টেটমেন্টটি প্রস্তুত করা হয়।
  2. bind_param() মেথডের মাধ্যমে প্যারামিটার বাইন্ড করা হয়। এখানে "si" মানে প্রথম প্যারামিটার (email) একটি স্ট্রিং (s), এবং দ্বিতীয় প্যারামিটার (id) একটি পূর্ণসংখ্যা (i)।
  3. execute() মেথডের মাধ্যমে প্রস্তুতকৃত স্টেটমেন্ট এক্সিকিউট করা হয়।

এভাবে Prepared Statements ব্যবহার করলে, SQL ইনজেকশন আক্রমণ থেকে ডেটাবেস রক্ষা করা যায়।


MySQLi UPDATE ক্যোয়ারি তে একাধিক রেকর্ড আপডেট

একই UPDATE ক্যোয়ারি দিয়ে একাধিক রেকর্ডও আপডেট করা যেতে পারে, যেখানে WHERE ক্লজে বিভিন্ন শর্ত দেওয়া হয়।

<?php
// ডেটাবেসে সংযোগ স্থাপন করা
$mysqli = new mysqli("localhost", "username", "password", "database_name");

// সংযোগ সফল না হলে ত্রুটি দেখানো
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// একাধিক রেকর্ড আপডেট করার ক্যোয়ারি
$sql = "UPDATE users SET email='bulkupdate@example.com' WHERE id IN (1, 2, 3)";

// ক্যোয়ারি এক্সিকিউট করা
if ($mysqli->query($sql) === TRUE) {
    echo "Records updated successfully.";
} else {
    echo "Error: " . $sql . "<br>" . $mysqli->error;
}

// সংযোগ বন্ধ করা
$mysqli->close();
?>

এখানে, WHERE id IN (1, 2, 3) দ্বারা id ১, ২ এবং ৩ সহ যেসকল রেকর্ড রয়েছে তাদের email আপডেট করা হবে।


সারাংশ

MySQLi ব্যবহার করে UPDATE ক্যোয়ারি চালানো অত্যন্ত সহজ এবং কার্যকরী। এটি ডেটাবেসে বিদ্যমান রেকর্ডের একটি বা একাধিক কলাম আপডেট করার জন্য ব্যবহৃত হয়। Prepared Statements ব্যবহার করলে SQL ইনজেকশন আক্রমণ প্রতিরোধ করা যায় এবং ডেটাবেসের নিরাপত্তা নিশ্চিত করা যায়। MySQLi এর Object-Oriented API ব্যবহার করলে কোড আরও পরিষ্কার এবং পুনঃব্যবহারযোগ্য হয়।

Content added By
Promotion

Are you sure to start over?

Loading...