PHP দিয়ে MySQL ডেটাবেজে ডেটা Insert করা

PHP দিয়ে MySQL ডেটাবেজে ডেটা Insert করা

আমরা ধরুন, users নামে একটি টেবিল তৈরি করেছি। এখন সেখানে কিভাবে ডেটা Insert করবো তা এই টিউটোরিয়ালে শেখানো হলো।

টেবিল গঠন (users)

  • id – Auto Increment Primary Key
  • name – ব্যবহারকারীর নাম
  • email – ইমেইল
  • created_at – Timestamp

১. MySQLi দিয়ে Insert

<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "my_new_database";

// সংযোগ তৈরি
$conn = new mysqli($host, $user, $pass, $dbname);

// সংযোগ যাচাই
if ($conn->connect_error) {
    die("❌ সংযোগ ব্যর্থ: " . $conn->connect_error);
}

// ডেটা
$name = "Sabbir";
$email = "sabbir@example.com";

// SQL ইনসার্ট
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

// চালানো
if ($conn->query($sql) === TRUE) {
    echo "✅ ডেটা সফলভাবে ইনসার্ট হয়েছে!";
} else {
    echo "❌ ইনসার্ট ত্রুটি: " . $conn->error;
}

$conn->close();
?>

গুরুত্বপূর্ণ: উপরের কোডটি সরাসরি ইনসার্ট করে কিন্তু SQL Injection থেকে সুরক্ষিত নয়। তাই prepared statement বা PDO ব্যবহার করা উত্তম।


২. PDO দিয়ে Insert (Secure Way)

<?php
$host = "localhost";
$dbname = "my_new_database";
$user = "root";
$pass = "";

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // SQL ইনসার্ট (Prepared Statement)
    $sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
    $stmt = $pdo->prepare($sql);

    // মান সেট করা
    $stmt->execute([
        ':name' => "Rakib",
        ':email' => "rakib@example.com"
    ]);

    echo "✅ PDO: ডেটা সফলভাবে ইনসার্ট হয়েছে!";
} catch (PDOException $e) {
    echo "❌ ত্রুটি: " . $e->getMessage();
}
?>

নিরাপত্তা: PDO ব্যবহার করলে আপনি SQL Injection থেকে নিরাপদ থাকেন। তাই real-world প্রজেক্টে PDO ব্যবহার করা best practice


উপসংহার

PHP দিয়ে MySQL ডেটাবেজে ডেটা Insert করা খুব সহজ, তবে নিরাপত্তা নিশ্চিত করার জন্য PDO ও Prepared Statements ব্যবহার করা উচিৎ। এটি কোডকে আরও রক্ষণশীল ও Maintainable করে তোলে।

Leave a Reply