PHP: хотя цикл не работает после настройки SELECT для предотвращения внедрения SQL

Я пытаюсь настроить запросы PHP для MySQL таким образом, чтобы предотвратить внедрение SQL (стандартный веб-сайт).

У меня было несколько запросов INSERT, где изменение это работало хорошо, нона следующем SELECT я получаю ошибку, так как обновление и похоже, что цикл while не работает с внесенными мною изменениями (он работает хорошо без использования оператора, как в старом коде).

Может кто-нибудь сказать мне, что я здесь делаю не так?

Новый PHP:

$stmt = $conn->prepare("SELECT ? FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, ?");
$stmt->bind_param('s', $selectedLang);
$stmt->execute();
$result = $stmt->get_result();  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();

Старый PHP (измененная часть):

$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, " . $selectedLang;
$result = $conn->query($sql);  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();

Сообщение об ошибке:

Неустранимая ошибка: вызов функции-члена fetch_assoc () для необъекта в /homepages/21/d580042014/htdocs/myform.php в строке 21

Спасибо заранее.