$query = "SELECT field1, field2, field3, date_created, id FROM database WHERE field1 LIKE $1 OR field2 LIKE $1 ORDER BY date_created $2 LIMIT $3 OFFSET $4";
$result = pg_query_params($this->pgConnect($this->database_conn_string), $query, array('%' . $this->input . '%', $this->order, $this->numberOfItems, $this->selectField1FromDatabaseSearchOffset()));
return $result;
Я не получаю какой-либо полезной ошибки, просто ошибка с $ 2, который будет установлен на DESC или ASC. Ошибка исчезнет, если я перестану пытаться передать это, так что это явно проблема передачи в Порядок таким образом, однако, я понятия не имею, почему и как я буду делать это безопасным образом. Значение берется из параметра url, вставляется через ‘htmlspecialchars’ и затем передается этому.
Обновление — должно упомянуть, что оно работает, если я поместил его прямо в $ query, например:
$query = "SELECT field1, field2, field3, date_created, id FROM database WHERE field1 LIKE $1 OR field2 LIKE $1 ORDER BY date_created $this->order LIMIT $2 OFFSET $3";
Хотя я не думаю, что это безопасный способ сделать это, плюс не очень последовательный!
Задача ещё не решена.
Других решений пока нет …