У меня есть следующий код:
public function findAllByPagePlain($limit, $offset, $q, $category_id, $column, $order)
{
$query = "SELECT DISTINCT TOP $limit p.* FROM ec_product p ";
$keywordQuery = "(p.name REGEXP '$q' OR p.status REGEXP '$q' OR p.description REGEXP '$q') ";
if ($category_id != -1) {
$query = $query . ", product_category pc WHERE pc.product_id=p.id AND pc.category_id=$category_id ";
if ($q != "") $query = $query . "AND " . $keywordQuery;
} else {
if ($q != "") $query = $query . "WHERE " . $keywordQuery;
}
$query = $query . "ORDER BY p." . $column . " " . $order . " OFFSET $offset ";
return $this->db->get_list($query);
}
Я пытаюсь использовать TOP, чтобы сначала получить n rows
из моей базы данных. но он продолжает давать мне ошибку, говоря
Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [code] => 102 [2] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near '0'. [message] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near '0'. ) )
Кто-нибудь знает, как решить эту проблему?