JSON এবং XML ডেটা হ্যান্ডলিং

MySQLi এ ডেটা টাইপস এবং ফরম্যাটিং - মাইএসকিউএল আই (MySQLi) - Database Tutorials

236

MySQLi এক্সটেনশনে JSON এবং XML ডেটা হ্যান্ডলিং করা একটি গুরুত্বপূর্ণ কার্যকলাপ, কারণ অনেক আধুনিক অ্যাপ্লিকেশন এবং ডেটাবেস JSON এবং XML ডেটা স্টোর এবং রিট্রিভ করার জন্য ব্যবহার করে। MySQLi তে JSON এবং XML ডেটা প্রক্রিয়া করার জন্য কিছু বিশেষ কৌশল এবং ফাংশন ব্যবহৃত হয়, যা ডেটা ফরম্যাটের মানানসই গঠন এবং পার্সিং সহজ করে তোলে।


JSON ডেটা হ্যান্ডলিং

JSON (JavaScript Object Notation) বর্তমানে ডেটা বিনিময়ের সবচেয়ে জনপ্রিয় ফরম্যাট। MySQL 5.7 থেকে JSON ডেটা টাইপের সমর্থন যোগ করা হয়েছে, যার মাধ্যমে MySQL ডেটাবেসে JSON ডেটা সংরক্ষণ এবং প্রসেস করা সহজ হয়েছে। MySQLi তে JSON ডেটা হ্যান্ডল করার জন্য, আপনি MySQLi এর প্যারামিটারাইজড কুয়েরি এবং JSON ফাংশন ব্যবহার করতে পারেন।

১. MySQLi তে JSON ডেটা স্টোর এবং রিট্রিভ করা

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// JSON ডেটা তৈরি করা
$json_data = json_encode(array("name" => "John Doe", "email" => "john.doe@example.com", "age" => 30));

// JSON ডেটা ইনসার্ট করার ক্যোয়ারি
$stmt = $mysqli->prepare("INSERT INTO users (user_data) VALUES (?)");
$stmt->bind_param("s", $json_data);
$stmt->execute();

echo "JSON data inserted successfully.";

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

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// JSON ডেটা রিট্রিভ করার ক্যোয়ারি
$sql = "SELECT user_data FROM users WHERE id = 1";
$result = $mysqli->query($sql);

// রেজাল্ট চেক করা এবং JSON ডেটা আউটপুট করা
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $user_data = json_decode($row["user_data"], true);
        echo "Name: " . $user_data["name"] . "<br>";
        echo "Email: " . $user_data["email"] . "<br>";
        echo "Age: " . $user_data["age"] . "<br>";
    }
} else {
    echo "0 results";
}

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

ব্যাখ্যা:

  • JSON ডেটা json_encode() ফাংশন দ্বারা PHP অ্যারে থেকে JSON স্ট্রিং এ রূপান্তরিত হয় এবং json_decode() ফাংশন দ্বারা JSON স্ট্রিং থেকে অ্যারে বা অবজেক্টে রূপান্তরিত হয়।
  • INSERT INTO ক্যোয়ারিতে JSON ডেটা ইনসার্ট করার সময় bind_param("s", $json_data) ব্যবহার করা হয়, যেখানে "s" মানে স্ট্রিং (JSON ডেটা)।

২. MySQL JSON ফাংশন ব্যবহার

MySQL JSON ডেটার সাথে কাজ করার জন্য বিভিন্ন ফাংশন সরবরাহ করে যেমন JSON_EXTRACT(), JSON_ARRAY(), JSON_OBJECT() ইত্যাদি।

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// JSON ডেটা থেকে নির্দিষ্ট মান বের করা
$sql = "SELECT JSON_EXTRACT(user_data, '$.name') AS name FROM users WHERE id = 1";
$result = $mysqli->query($sql);

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

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

ব্যাখ্যা:

  • JSON_EXTRACT() ফাংশন JSON ডেটার মধ্যে নির্দিষ্ট ফিল্ড বের করতে ব্যবহার হয়। এখানে '$.name' অংশটি JSON অবজেক্ট থেকে "name" প্রপার্টি বের করার নির্দেশ দেয়।

XML ডেটা হ্যান্ডলিং

XML (eXtensible Markup Language) একটি জনপ্রিয় ডেটা ফরম্যাট যা হালকা স্ট্রাকচারড ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। MySQLi তে XML ডেটা হ্যান্ডলিং করতে PHP এর DOM (Document Object Model) এবং SimpleXML এক্সটেনশনের সাহায্য নেয়া হয়।

১. MySQLi তে XML ডেটা স্টোর এবং রিট্রিভ করা

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// XML ডেটা তৈরি করা
$xml_data = '<?xml version="1.0" encoding="UTF-8"?>';
$xml_data .= '<user><name>John Doe</name><email>john.doe@example.com</email><age>30</age></user>';

// XML ডেটা ইনসার্ট করার ক্যোয়ারি
$stmt = $mysqli->prepare("INSERT INTO users (user_xml_data) VALUES (?)");
$stmt->bind_param("s", $xml_data);
$stmt->execute();

echo "XML data inserted successfully.";

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

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// XML ডেটা রিট্রিভ করার ক্যোয়ারি
$sql = "SELECT user_xml_data FROM users WHERE id = 1";
$result = $mysqli->query($sql);

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

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

ব্যাখ্যা:

  • XML ডেটা simplexml_load_string() ফাংশন দ্বারা PHP অ্যারে বা অবজেক্টে রূপান্তরিত করা হয়, যাতে XML ডেটার উপর সহজে কাজ করা যায়।
  • XML ডেটা bind_param("s", $xml_data) এর মাধ্যমে স্ট্রিং হিসেবে ইনসার্ট করা হয়।

২. XML ডেটা প্রক্রিয়া করার জন্য SimpleXML এবং DOM ব্যবহার

  • SimpleXML একটি সহজ উপায় প্রদান করে XML ডেটা রিড এবং মডিফাই করার জন্য।
  • DOM (Document Object Model) আরও শক্তিশালী এবং জটিল XML ম্যানিপুলেশনের জন্য ব্যবহৃত হয়।
উদাহরণ: XML ডেটার উপাদান অ্যাক্সেস করা (SimpleXML)
<?php
$xml = simplexml_load_string('<?xml version="1.0"?><user><name>John</name><email>john.doe@example.com</email></user>');
echo $xml->name . " - " . $xml->email;
?>

ব্যাখ্যা:

  • simplexml_load_string() ফাংশন XML ডেটাকে সহজে পার্স করে এবং XML এর ট্যাগের মধ্যে থাকা মানগুলি অ্যাক্সেস করা সহজ করে তোলে।

সারাংশ

MySQLi তে JSON এবং XML ডেটা হ্যান্ডলিং করার জন্য PHP এর বিভিন্ন ফাংশন এবং এক্সটেনশন ব্যবহার করা হয়। JSON ডেটা MySQLi তে স্টোর এবং রিট্রিভ করতে json_encode() এবং json_decode() ফাংশন ব্যবহার করা হয়, এবং XML ডেটা

Content added By
Promotion

Are you sure to start over?

Loading...