شمارش هشدار (warning_count)
تابع warning_count در MySQLi تعداد هشدارهای آخرین کوئری را می دهد. «هشدار (Warning)» یعنی مشکل سبک، مثل غلط املایی در فرم. خطا نیست؛ اما بهتر است بررسی شود.
تعریف کوتاه و کاربرد شمارش هشدار MySQLi
با $mysqli->warning_count یا mysqli_warning_count() می فهمیم چند هشدار ثبت شده است. سپس می توانیم با دستور SHOW WARNINGS جزئیات را ببینیم.
نحو (Syntax)
$mysqli->warning_count و mysqli_warning_count(connection)
نمونه شی گرا (Object-Oriented)
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$mysqli->query("CREATE TABLE myPersons LIKE Persons");
$sql = "INSERT INTO myPersons (FirstName) VALUES(\n'Hdghfhjgjtjyjn.,,��l�jkghfjbmbngfgffdhfhjgjgkjhlkhlkjljljlkjkljlkjkljkljlkj')";
$mysqli->query($sql);
if ($mysqli->warning_count) {
if ($result = $mysqli->query("SHOW WARNINGS")) {
$row = $result->fetch_row();
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
$result->close();
}
}
$mysqli->close();
?>
نمونه رویه ای (Procedural)
<?php
$con = mysqli_connect("localhost", "my_user", "my_password", "my_db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
mysqli_query($con, "CREATE TABLE myPersons LIKE Persons");
$sql = "INSERT INTO myPersons (FirstName) VALUES(\n'Hdghfhjgjtjyjn.,,��l�jkghfjbmbngfgffdhfhjgjgkjhlkhlkjljljlkjkljlkjkljkljlkj')";
mysqli_query($con, $sql);
if (mysqli_warning_count($con)) {
if ($result = mysqli_query($con, "SHOW WARNINGS")) {
$row = mysqli_fetch_row($result);
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
mysqli_free_result($result);
}
}
mysqli_close($con);
?>
گام های عملی بررسی هشدار
- کوئری را اجرا کن و نتیجه را بررسی کن.
- با
warning_countتعداد هشدارها را بگیر. - با
SHOW WARNINGSجزئیات هشدارها را ببین. - مشکل داده یا کوئری را اصلاح کن.
نکته: هشدار معمولاً از داده بد می آید؛ مثل برش رشته طولانی.
هشدار: اگر هشدارها را نادیده بگیری، بعدها باگ های مرموز می بینی.
مطالب مرتبط داخل سایت
برای پایش، صفحه stat را ببین. همچنین thread_id برای مدیریت اتصال مفید است. راهنمای شمارش هشدار MySQLi مرجع سریع توست.
جمع بندی سریع
- warning_count تعداد هشدارِ آخرین کوئری است.
- برای جزئیات از SHOW WARNINGS استفاده کن.
- هشدار خطا نیست؛ اما مهم است.
- پس از اصلاح، دوباره کوئری را تست کن.