Типа (не тестил):
function search($from, $before) {
$sql = "SELECT * FROM watches";
if (isset(($from) && isset(($before)) {
$sql .= " WHERE price > {$from} AND price < {$before}";
}
$stmt = $this->_instance->query($sql);
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $row;
}
Откуда приходят значения в функцию? Перед использованием в sql запросах ОБЯЗАТЕЛЬНО нужно отфильтровать входные данные, иначе дыра.
И стоит сразу учесть, что брать из базы абсолютно все - плохо. На сайте же будет пагинация, вот на основе этой пагинации и нужно составлять запрос.