মাইএসকিউএল এ পিএইচপি সংযোগ
নয়ন চন্দ্র দত্ত
কি খবর সবার? সবাই ভালতো । আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় মাইএসকিউএল এ পিএইচপি সংযোগ নিয়ে বিস্তারিত আলোচনা করবো । মাইএসকিউএল এ কীভাবে পিএইচপি সংযোগ করতে হয় তা আজ আমরা দেখব। তাহলে চলুন শুরু করা যাক …।
পিএইচপি 5 এবং পরে্র একটি মাইএসকিউএল ডাটাবেস ব্যবহার করে কাজ করতে পারেন। যেমন-
- MySQLi extension (“i” দিয়ে উন্নততর বোঝায়)
- PDO (পিএইচপি ডাটা অবজেক্টস)
পিএইচপি এর আগের ভার্সনে মাইএসকিউএল এক্সটেনশন ব্যবহার করা হত। যাইহোক, এই এক্সটেনশন 2012 সালে অবাঞ্চিত হয়েছে ।
এখন প্রশ্ন হচ্ছে, আমি কী MySQLi বা PDO ব্যবহার করতে পারব?
যদি আপনার একটি সংক্ষিপ্ত উত্তর প্রয়োজন হয়, তাহলে এটি হতে পারে “আপনি কি পছন্দ করেন” ।
MySQLi এবং PDO তাদের উভয়েরই সুবিধা আছে।
PDO 12টি বিভিন্ন ডাটাবেস সিস্টেম কাজ করে এবং MySQLi শুধুমাত্র মাইএসকিউএল উপাত্ত সঙ্গে কাজ করে।
যদি আপনি অন্য ডাটাবেস ব্যবহার করার জন্য আপনার প্রকল্প switch করতে চান তাহলে PDO প্রক্রিয়াটি সহজ করে তোলে। আপনার শুধুমাত্র সংযোগ স্ট্রিং এবং কয়েকটি queries পরিবর্তন করতে হবে। MySQLi দিয়ে আপনি সম্পূর্ণ কোড পুনর্লিখন করতে হবে – প্রশ্ন অন্তর্ভুক্ত হয়েছে।
উভয় বস্তু ভিত্তিক হয়, কিন্তু MySQLi একটি পদ্ধতিগত API- অফার করে।
প্রস্তুত বিবৃতি এসকিউএল ইনজেকশন থেকে রক্ষা করে এবং তা ওয়েব অ্যাপ্লিকেশন নিরাপত্তার জন্য খুবই গুরুত্বপূর্ণ ।
MySQLi এবং PDO সিনট্যাক্স উভয় মাইএসকিউএল এর উদাহরণ
নিম্নলিখিত অধ্যায়গুলির মধ্যে আমরা পিএইচপি এবং মাইএসকিউএল দিয়ে কাজ করার তিনটি উপায় দেখাবঃ
- MySQLi (অবজেক্ট ওরিয়েন্টেড)
- MySQLi (পদ্ধতিগত)
- PDO
MySQLi ইনস্টলেশন
লিনাক্স এবং উইন্ডোজ জন্য: PHP5 মাইএসকিউএল প্যাকেজ ইনস্টল করা থাকলে অধিকাংশ ক্ষেত্রে MySQLi এক্সটেনশন স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়।
ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/mysqli.installation.php
PDO ইনস্টলেশন
ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/pdo.installation.php
মাইএসকিউএল এ একটি সংযোগ খুলুন
MySQL ডাটাবেসের মধ্যে তথ্য অ্যাক্সেস করার পূর্বে আমাদের সার্ভারের সাথে সংযোগ করতে হবে।
উদাহরণ ( MySQLi অবজেক্ট ওরিয়েন্টেড):
<?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>
*** উপরে অবজেক্ট ওরিয়েন্টেড উদাহরণ দ্রষ্টব্য: $ connect_error পিএইচপি 5.2.9 এবং 5.3.0 পর্যন্ত Broken ছিল.
আপনার পূর্বের 5.2.9 এবং 5.3.0 পিএইচপি সংস্করণের সাথে সামঞ্জস্য নিশ্চিত করা প্রয়োজন হলে, পরিবর্তে নিম্নলিখিত কোড ব্যবহার করুন:
<?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; ?>
উদাহরণ (প্রথাগত MySQLi )
<?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
উদাহরণ ( PDO )
<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
***উপরের PDO উদাহরণে লক্ষ্য করুন আমরা একটি ডাটাবেস নির্দিষ্ট করেছি ( myDB ) । PDO সংযোগ স্থাপনের জন্য একটি কার্যকর ডাটাবেস প্রয়োজন হয়। যদি কোন ডাটাবেস উল্লেখিত না থাকে তবে একটি ব্যতিক্রম নিক্ষিপ্ত হয়।
সংযোগ বন্ধ করুন
সংযোগ স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে যখন স্ক্রিপ্ট শেষ হবে। সংযোগ বন্ধ করার পূর্বে নিম্নলিখিত কাজগুলো অণুসরণ করুনঃ
উদাহরণ (MySQLi অবজেক্ট ওরিয়েন্টেড)
$conn->close();
উদাহরণ (প্রথাগত MySQLi)
mysqli_close($conn);
উদাহরণ (PDO)
$conn = null;
আজকের মত এই পর্যন্ত। আশা করি সবার খুব ভাল লেগেছে । সবাই বেশি বেশি করে প্রাকটিস করবেন । সবাই ভাল থাকবেন আর কোন সমস্যা হলে নিশ্চই কমেন্ট করবেন ।