В любом месте PHP кода вы можете использовать встроенные в движок методы класса DB для работы с базой.
<?php
$res=DB::query("SELECT * FROM ".PREFIX."product WHERE price > 1000");
while($row=DB::fetchAssoc($res)){
viewData($row);
}
?>
Обязательно защищайте все составные части запроса от SQL инъекций с помощью готовых методов движка
Если в запрос передается строковая переменная.
<?php
$sqlPart = $_GET['value'];
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE title LIKE '".$sqlPart."'"); // неправильно
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE title LIKE ".DB::quote($sqlPart)); // правильно
?>
Если в запрос передается Int переменная.
<?php
$id = '$_GET['value']; // int
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE id = '".$id); // неправильно
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE id= ".DB::quote($id)); // неправильно
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE id= ".DB::quoteInt($id)); // правильно
?>
Если в запрос передается float переменная.
<?php
$price = '$_GET['value']; // int
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE price = '".$price); // неправильно
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE price= ".DB::quote($price)); // неправильно
$res = DB::query("SELECT * FROM ".PREFIX."product WHERE price= ".DB::quoteFloat($price)); // правильно
?>
Если в запросе есть оператор IN.
$titleArr = array(
'Дверь межкомнаткая Тенго 22A',
'Стол кухонный Bin04'
);
$sql = "SELECT * FROM `".PREFIX."product` WHERE `title` IN (".DB::quoteIN($titleArr).")";