Что не так с функцией?
Настал момент познакомиться с такими понятиями, как отладка и безопасное выполнение SQL запросов. 

Программисты не задают посторонним вопрос, "почему мой код не работает". 
Они задают его своему коду. 

Вы уже начали отлаживать свой код, выводя промежуточные результаты. Это очень хорошо. Но почему-то тут же остановились

Ну если запрос не находит записей - разве не логично вывести его на экран и посмотреть, что с ним не так.

А после того, разберётесь с запросом, надо будет его переписать на подготовленные выражения. Потому что вот это вот - это какой-то позор
Вот там где у вас
if (!$result... ) {
        return false
Неплохо бы добавить throw New Exception($sql . PHP_EOL . $mysqli->error);
Или хотя бы echo $sql . PHP_EOL . $mysqli->error;

Очень большая вероятность того, что есть проблема с кавычками вокруг orderid и даты.
Ну и переход на prepared statements сделает эти ошибки невозможным, и ещё от ряда косяков защитит.