bindParam এবং bindValue উভয়ই PHP-এর বিল্ট-ইন ফাংশন যা ডাটাবেস রেকর্ড অ্যাক্সেস করার জন্য PHP ডেটা অবজেক্টস স্টেটমেন্ট বা PDOStatement-এ ভেরিয়েবলকে মান দিয়ে ম্যাপ করার জন্য ব্যবহৃত হয়। PDOStatement আসলে ডাটাবেস কোয়েরির একটি অভস্ট্রাকশন লেয়ার।
নিচে ASP এবং ASP.NET-এর মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলো দেওয়া হলো।
| ক্রমিক নং | মূল ভিত্তি | bindParam ফাংশন | bindValue ফাংশন |
|---|---|---|---|
| 1 | সংজ্ঞা | bindParam হলো একটি PHP বিল্ট-ইন ফাংশন যা একটি প্যারামিটারকে SQL স্টেটমেন্টে নির্দিষ্ট ভেরিয়েবল নামের সাথে বাইন্ড করে ডাটাবেস রেকর্ড অ্যাক্সেস করার জন্য। | অন্যদিকে, bindValue আবার একটি PHP বিল্ট-ইন ফাংশন যা প্যারামিটারের মানকে SQL স্টেটমেন্টে নির্দিষ্ট ভেরিয়েবল নামের সাথে বাইন্ড করে। |
| 2 | এক্সিকিউশন | bindParam ফাংশন শুধু স্টেটমেন্ট এক্সিকিউশনের সময় এক্সিকিউট হয় অর্থাৎ $stmt -> bindParam(':variableName', $parameter); কল হলে। | অন্যদিকে bindValue এর ঘোষণার সময় কম্পাইল হয়ে তার মান অ্যাসাইন করে অর্থাৎ $stmt->execute(); |
| 3 | অ্যাক্সেস করা মান | উপরোক্ত পয়েন্টে উল্লিখিতভাবে bindParam স্টেটমেন্ট এক্সিকিউশনের সময় এক্সিকিউট হয়, তাই প্যারামিটারের সাথে ম্যাপ করা লেটেস্ট মান স্টেটমেন্ট দ্বারা ব্যবহৃত হয়। | অন্যদিকে, bindValue-এ ফাংশন ঘোষণার সময় মান প্যারামিটারের সাথে অ্যাসাইন হয়ে যায় যা স্টেটমেন্ট দ্বারা ব্যবহৃত হয়। |
| 4 | টাইপ | উপরোক্ত পয়েন্টে উল্লিখিতভাবে bindParam ফাংশন রানটাইম এক্সিকিউশন টাইপ। | অন্যদিকে bindValue ফাংশন কম্পাইলড এক্সিকিউশন টাইপ। |
| 5 | মডিফাইড মান | bindParam-এ প্যারামিটার মান পরিবর্তন করা সম্ভব এবং সেটি স্টেটমেন্ট দ্বারা এক্সিকিউট হবে। | অন্যদিকে bindValue-এ প্যারামিটার মান পরিবর্তন করা সম্ভব নয় এবং শুধু প্রাথমিক মান স্টেটমেন্ট দ্বারা এক্সিকিউট হয়। |