১. mysqli_error() এবং mysqli_errno() কী?
mysqli_error(): এই ফাংশনটি MySQLi এক্সটেনশনের সাথে যে কোনও কুয়েরি এক্সিকিউশন বা সংযোগের সময় ঘটানো ত্রুটি সম্পর্কে বিস্তারিত বার্তা প্রদান করে।mysqli_errno(): এই ফাংশনটি ত্রুটির কোড প্রদান করে, যা একটি নির্দিষ্ট ত্রুটির ধরণ চিহ্নিত করতে সাহায্য করে।
এই দুটি ফাংশন MySQLi ত্রুটি হ্যান্ডলিংয়ের জন্য ব্যবহার করা হয়, যা আপনাকে ডেটাবেজের সাথে সম্পর্কিত যে কোনও ত্রুটি নির্ধারণ এবং সমাধান করতে সাহায্য করে।
২. mysqli_error() ফাংশন ব্যবহার
mysqli_error() ফাংশনটি MySQLi সংযোগ অবজেক্টের সাথে যে কোনও ত্রুটি বার্তা রিটার্ন করে। এটি সাধারণত কোনো কুয়েরি এক্সিকিউট করার পরে ত্রুটি চেক করতে ব্যবহৃত হয়।
উদাহরণ:
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";
// সংযোগ স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);
// চেক করা যে সংযোগ সফল হয়েছে কিনা
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// একটি ভুল কুয়েরি চালানো (Syntax Error)
$sql = "SELECT * FORM users"; // ভুল "FORM" ব্যবহার করা হয়েছে
$result = $conn->query($sql);
// ত্রুটি চেক করা এবং প্রদর্শন
if (!$result) {
echo "Error: " . $conn->error; // mysqli_error() এর মাধ্যমে ত্রুটি বার্তা দেখা যাবে
}
$conn->close();
উপরে দেওয়া কোডে, mysqli_error() ত্রুটি বার্তা প্রিন্ট করবে, কারণ SQL কুয়েরির মধ্যে একটি টাইপো রয়েছে (FORM এর পরিবর্তে FROM হওয়া উচিত ছিল)।
৩. mysqli_errno() ফাংশন ব্যবহার
mysqli_errno() ফাংশনটি MySQLi ত্রুটির একটি নির্দিষ্ট ত্রুটি কোড রিটার্ন করে। এটি ত্রুটির সংখ্যা প্রদান করে, যা আপনি ত্রুটির ধরন চিহ্নিত করতে ব্যবহার করতে পারেন।
উদাহরণ:
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";
// সংযোগ স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);
// চেক করা যে সংযোগ সফল হয়েছে কিনা
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// একটি ভুল কুয়েরি চালানো (Syntax Error)
$sql = "SELECT * FORM users"; // ভুল "FORM" ব্যবহার করা হয়েছে
$result = $conn->query($sql);
// ত্রুটি চেক করা এবং ত্রুটি কোড দেখানো
if (!$result) {
echo "Error Code: " . $conn->errno; // mysqli_errno() এর মাধ্যমে ত্রুটি কোড
echo "<br>Error: " . $conn->error; // mysqli_error() এর মাধ্যমে ত্রুটি বার্তা
}
$conn->close();
এখানে, mysqli_errno() ত্রুটি কোড (যেমন 1064) প্রদান করবে, যা SQL সিনট্যাক্স ত্রুটির জন্য ব্যবহৃত একটি সাধারণ কোড।
৪. Common MySQL Error Codes
- 1064: Syntax Error (কুয়েরি সঠিকভাবে লেখা হয়নি)
- 1146: Table doesn’t exist (যে টেবিলটি মেনে নেওয়া হয়েছিল তা ডেটাবেজে উপস্থিত নেই)
- 1045: Access denied (এটি সংযোগ ত্রুটি, যেখানে ডেটাবেজে সংযোগ অনুমতি নেই)
৫. mysqli_error() এবং mysqli_errno() ব্যবহার করার সুবিধা
- ডিবাগিং সহজ: এই ফাংশনগুলো ব্যবহারের মাধ্যমে আপনি কুয়েরি এক্সিকিউশনের সময় হওয়া ত্রুটি দ্রুত সনাক্ত করতে পারবেন।
- ত্রুটির ধরন চিহ্নিত করা:
mysqli_errno()আপনাকে ত্রুটির সংখ্যা সরবরাহ করে, যা আপনাকে দ্রুত ত্রুটির ধরন চিহ্নিত করতে সাহায্য করে। - বহু ত্রুটি সনাক্তকরণ: আপনি যদি একাধিক কুয়েরি এক্সিকিউট করেন, তবে একে একে
mysqli_error()এবংmysqli_errno()ব্যবহার করে ত্রুটির ধরন জানতে পারবেন।
৬. উপসংহার
MySQLi ত্রুটি হ্যান্ডলিং সিস্টেমের অংশ হিসেবে mysqli_error() এবং mysqli_errno() ব্যবহার করা খুবই কার্যকর। আপনি যখন ডেটাবেজের সাথে কাজ করবেন, তখন এই ফাংশনগুলো ত্রুটি চিহ্নিতকরণ এবং সমাধানে গুরুত্বপূর্ণ ভূমিকা পালন করবে। এটি ডিবাগিং প্রক্রিয়াকে সহজ করে তোলে এবং আপনাকে ডেটাবেজ কুয়েরি এবং সংযোগের সময় যেকোনো ত্রুটি দ্রুত সনাক্ত করতে সহায়তা করবে।