PHP: While-Schleife funktioniert nicht, nachdem SELECT für SQL Injection Prevention angepasst wurde

ch versuche, PHP-Abfragen für MySQL so einzurichten, dass SQL-Injection (Standard-Website) verhindert wir

Ich hatte ein paar INSERT-Anfragen, bei denen das Ändern gut funktioniert hat, aber Auf dem folgenden SELECT bekomme ich seit dem Update immer eine Fehlermeldung und es sieht so aus, als würde die while-Schleife nicht mit den von mir vorgenommenen Änderungen funktionieren (es funktioniert auch ohne die Anweisung wie im alten Code).

ann mir jemand sagen, was ich hier falsch mach

Neues 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();

Old PHP (geänderter Teil):

$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();

Fehlermeldung

Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion fetch_assoc () für ein Nicht-Objekt in /homepages/21/d580042014/htdocs/myform.php in Zeile 21

Vielen Dank im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage