توضیحات
این تابع درخواستی را به دیتابیس ارسال می کند و خروجی را بصورت خام به شما تحویل می دهد
برای بهبود امنیت شما باید در قسمت هایی که متغیر درآنجا قرار می گیرد، از علامت سوال '?' استفاده کنید و متغیر را (به ترتیب) در آرگومنت های بعدی تابع وارد کنید
ورودی
شکل تابع:
class MmbMySql {
public function query(string $query, ...$args);
}
یک درخواست و به تعداد دلخواه ورودی دیگر
خروجی
خروجی تابع:
mysqli_result|bool
خروجی را به صورت کلاس mysqli_result یا bool می دهد
مثال
مثال #1:
$row = $db->query("SELECT * FROM `table` WHERE `name` = ?", $name) -> fetch_assoc();
متغیر $name بصورت ایمن در قسمت علامت سوال جایگزین می شود
مثال #2:
// کد بد:
$channel = $db->query("SELECT * FROM `channels` WHERE `channel` = '$text'") -> fetch_assoc();
// کد خوب:
$channel = $db->query("SELECT * FROM `channels` WHERE `channel` = ?", $text) -> fetch_assoc();
استفاده از این ویژگی امنیت دیتابیس شما را بالا می برد
مثال #3:
$db->query("DELETE FROM `?` WHERE `?` = `?`", 'table', 'col', $value);
اگر می خواهید مقداری را بصورت غیر رشته(مانند نام جدول) وارد کنید، علامت سوال را بین دو ` ` قرار دهدید
   قبلی
کلاس دیتابیس MySql
کوئری انتخاب تعداد
بعدی