Codeigniter — $sOrder и $sLimit в таблицах данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Codeigniter — $sOrder и $sLimit в таблицах данных

Сообщение Anonymous »

Я получаю записи с помощью Codeigniter и таблиц данных. Удаление $sOrder и $sLimit загружает данные, но при фильтрации возникает ошибка базы данных:

"У вас ошибка в ваш синтаксис SQL; проверьте руководство, которое
соответствует вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования
рядом с ''desc' LIMIT '0'', '10'' в строке 5

Код: Выделить всё

SELECT SQL_CALC_FOUND_ROWS id, FName, LName, status, authorizedby, userName
FROM users
ORDER BY id 'desc'
LIMIT '0', '10'"
Вот код:

Код: Выделить всё

        if (isset($_REQUEST['iSortCol_0'])) {
$sOrder = "ORDER BY  ";
for ($i = 0; $i < intval($_REQUEST['iSortingCols']); $i++) {
if ($_REQUEST['bSortable_' . intval($_REQUEST['iSortCol_' . $i])] == "true") {
$sOrder .= $aColumns[intval($_REQUEST['iSortCol_' . $i])] . "
" . $this->db->escape($_REQUEST['sSortDir_' . $i]) . ", ";
}
}
$sOrder = substr_replace($sOrder, "", -2);
if ($sOrder == "ORDER BY") {
$sOrder = "";
}
}

$sWhere = "";
// this for search code
if ($_REQUEST['sSearch'] != "") {
$sWhere = "WHERE (";
for ($i = 0; $i < count($aColumns); $i++) {
$sWhere .= $aColumns[$i] . " LIKE '%" . $this->db->escape($_REQUEST['sSearch']) . "%' OR ";
}
$sWhere = substr_replace($sWhere, "", -3);
$sWhere .= ')';
}

for ($i = 0; $i < count($aColumns); $i++) {
if ($_REQUEST['bSearchable_' . $i] == "true" && $_REQUEST['sSearch_' . $i] != '') {
if ($sWhere == "") {
$sWhere = "WHERE ";
} else {
$sWhere .= " AND ";
}
$sWhere .= $aColumns[$i] . " LIKE '%" . $this->db->escape($_REQUEST['sSearch_' . $i]) . "%' ";
}
}

// generate sql query
$sQuery = "SELECT SQL_CALC_FOUND_ROWS " . str_replace(" , ", " ", implode(", ", $aResultColumns)) . "
FROM   $sTable
$sWhere
$sOrder
$sLimit
";
Теперь удаление последних двух строк ($sOrder и $sLimit) работает для загрузки данных, но при фильтрации возникает ошибка. Как это поправимо?

Подробнее здесь: https://stackoverflow.com/questions/627 ... datatables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»